docwu 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/lib/docwu/post.rb +1 -1
  2. data/lib/docwu/utils.rb +6 -0
  3. data/lib/docwu/version.rb +1 -1
  4. data/lib/docwu/worker.rb +5 -27
  5. data/lib/docwu.rb +34 -5
  6. data/lib/template_files/Gemfile +3 -0
  7. data/lib/template_files/Gemfile.lock +28 -0
  8. data/lib/template_files/README.md +3 -0
  9. data/lib/template_files/_deploy/assets/images/shared/folder/README.txt +1 -0
  10. data/lib/template_files/_deploy/assets/images/shared/folder/text.png +0 -0
  11. data/lib/template_files/_deploy/assets/images/shared/folder/user.png +0 -0
  12. data/lib/template_files/_deploy/assets/images/shared/icons/li-1.gif +0 -0
  13. data/lib/template_files/_deploy/assets/images/shared/icons/li-2.gif +0 -0
  14. data/lib/template_files/_deploy/assets/images/shared/icons/li-3.gif +0 -0
  15. data/lib/template_files/_deploy/assets/javascripts/application.js +0 -0
  16. data/lib/template_files/_deploy/assets/javascripts/document_folder.js +0 -0
  17. data/lib/template_files/_deploy/assets/javascripts/document_post.js +0 -0
  18. data/lib/template_files/_deploy/assets/stylesheets/application.css +215 -0
  19. data/lib/template_files/_deploy/assets/stylesheets/document_folder.css +12 -0
  20. data/lib/template_files/_deploy/assets/stylesheets/document_post.css +103 -0
  21. data/lib/template_files/_deploy/assets/stylesheets/index.css +12 -0
  22. data/lib/template_files/_deploy/document/help/README.html +124 -0
  23. data/lib/template_files/_deploy/document/help/index.html +71 -0
  24. data/lib/template_files/_deploy/document/juices/README.html +67 -0
  25. data/lib/template_files/_deploy/document/juices/index.html +71 -0
  26. data/lib/template_files/_deploy/document/learning/README.html +108 -0
  27. data/lib/template_files/_deploy/document/learning/index.html +166 -0
  28. data/lib/template_files/_deploy/document/learning/markdown/index.html +73 -0
  29. data/lib/template_files/_deploy/document/learning/markdown/lesson_1.html +184 -0
  30. data/lib/template_files/_deploy/document/learning/ruby/1.html +102 -0
  31. data/lib/template_files/_deploy/document/learning/ruby/index.html +73 -0
  32. data/lib/template_files/_deploy/document/learning//345/210/235/345/255/246/350/200/205/346/225/231/347/250/213/index.html +73 -0
  33. data/lib/template_files/_deploy/document/learning//345/210/235/345/255/246/350/200/205/346/225/231/347/250/213/markdown-basic.html +140 -0
  34. data/lib/template_files/_deploy/document/projects/hui800/index.html +63 -0
  35. data/lib/template_files/_deploy/document/projects/passport800/index.html +63 -0
  36. data/lib/template_files/_deploy/document/projects/tuan800/index.html +63 -0
  37. data/lib/template_files/_deploy/document/projects/zhe800/index.html +63 -0
  38. data/lib/template_files/_deploy/index.html +241 -0
  39. data/lib/template_files/assets/images/shared/folder/README.txt +1 -0
  40. data/lib/template_files/assets/images/shared/folder/text.png +0 -0
  41. data/lib/template_files/assets/images/shared/folder/user.png +0 -0
  42. data/lib/template_files/assets/images/shared/icons/li-1.gif +0 -0
  43. data/lib/template_files/assets/images/shared/icons/li-2.gif +0 -0
  44. data/lib/template_files/assets/images/shared/icons/li-3.gif +0 -0
  45. data/lib/template_files/assets/javascripts/application.js +0 -0
  46. data/lib/template_files/assets/javascripts/document_folder.js +0 -0
  47. data/lib/template_files/assets/javascripts/document_post.js +0 -0
  48. data/lib/template_files/assets/stylesheets/application.css +215 -0
  49. data/lib/template_files/assets/stylesheets/document_folder.css +12 -0
  50. data/lib/template_files/assets/stylesheets/document_post.css +103 -0
  51. data/lib/template_files/assets/stylesheets/index.css +12 -0
  52. data/lib/template_files/config.yml +18 -0
  53. data/lib/template_files/doc/help/README.md +34 -0
  54. data/lib/template_files/layouts/folder.mustache +67 -0
  55. data/lib/template_files/layouts/index.mustache +29 -0
  56. data/lib/template_files/layouts/partials/folder/post_outline.mustache +6 -0
  57. data/lib/template_files/layouts/partials/folder/posterity.mustache +49 -0
  58. data/lib/template_files/layouts/partials/shared/copyright.mustache +6 -0
  59. data/lib/template_files/layouts/partials/shared/header.mustache +10 -0
  60. data/lib/template_files/layouts/post.mustache +97 -0
  61. data/lib/template_files/static/_static.html +0 -0
  62. data/lib/template_files/topics/index.markdown +6 -0
  63. metadata +61 -4
data/lib/docwu/post.rb CHANGED
@@ -105,7 +105,7 @@ module Docwu
105
105
  end
106
106
 
107
107
  def title
108
- self.page_data['title'] || self.url
108
+ self.page_data['title'] || self.name
109
109
  end
110
110
 
111
111
  # 渲染
data/lib/docwu/utils.rb CHANGED
@@ -2,6 +2,12 @@
2
2
  module Docwu
3
3
  class Utils
4
4
  class << self
5
+ def cp_r src, dest
6
+ if File.exists?(src)
7
+ FileUtils.cp_r(src, dest)
8
+ end
9
+ end
10
+
5
11
  def hash_deep_merge(hash, other_hash)
6
12
  hash.merge(other_hash) do |key, oldval, newval|
7
13
  oldval = oldval.to_hash if oldval.respond_to?(:to_hash)
data/lib/docwu/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Docwu
3
- VERSION = "0.0.6"
3
+ VERSION = "0.0.7"
4
4
  end
data/lib/docwu/worker.rb CHANGED
@@ -3,31 +3,6 @@ require 'date'
3
3
  module Docwu
4
4
  class Worker
5
5
 
6
- # - folder1
7
- # - assets:
8
- # + javascripts
9
- # + images
10
- # + files
11
- # - doc:
12
- # + 市场相关
13
- # = 个人相关
14
- # + happy
15
- # + john
16
- # - xiaozhang
17
- # + learning
18
- # + 基本文档
19
- # - folder2
20
- # - layouts:
21
- # - application.mustache
22
- # - doc:
23
- # + 基础资料
24
- # - assets:
25
- # + javascripts
26
- # + images
27
- # - layouts:
28
- # - application.mustache
29
- #
30
-
31
6
  attr_reader :layouts, :data, :deploy_path, :folders, :topics
32
7
 
33
8
  def initialize
@@ -96,9 +71,12 @@ module Docwu
96
71
  def generate
97
72
  # 删除要输出的路径
98
73
  FileUtils.rm_rf(self.deploy_path)
74
+ FileUtils.mkdir_p(self.deploy_path)
75
+
76
+ ::Docwu::Utils.cp_r("#{plain_path('/assets/')}", "#{self.deploy_path}")
99
77
 
100
- # 复制 assets 文件进去
101
- FileUtils.cp_r("#{plain_path('/assets')}", "#{self.deploy_path}/")
78
+ # 复制静态文件里去
79
+ ::Docwu::Utils.cp_r("#{plain_path('/static/')}", "#{self.deploy_path}")
102
80
 
103
81
  self.folders.each do |folder|
104
82
  folder.generate
data/lib/docwu.rb CHANGED
@@ -25,23 +25,52 @@ module Docwu
25
25
 
26
26
  _command = args.shift
27
27
 
28
- _useful_cmds = ['g', 'generate', 's', 'server', '-h', '--help']
28
+ _useful_cmds = ['g', 'generate', 's', 'server', '-h', '--help', 'new']
29
29
 
30
30
  unless _useful_cmds.include?(_command)
31
- raise "command #{_command} is not available, not in (#{_useful_cmds.join('|')})"
31
+ puts "command #{_command} is not available, not in (#{_useful_cmds.join('|')})"
32
+ exit
33
+ end
34
+
35
+
36
+ if ['new'].include?(_command)
37
+ _project_name = args.shift
38
+
39
+ if _project_name.nil?
40
+ puts 'error: You need input a project name! '
41
+ exit
42
+ end
43
+
44
+ _new_dest = "#{workspace}/#{_project_name}"
45
+
46
+ _template_src = "#{File.dirname(__FILE__)}/template_files"
47
+
48
+ if File.exists?(_new_dest) && File.directory?(_new_dest)
49
+ puts "error: #{_new_dest} already exists! Please check !"
50
+ else
51
+ FileUtils.cp_r("#{_template_src}", "#{_new_dest}")
52
+
53
+ system "cd #{_new_dest} && bundle install && bundle exec docwu generate"
54
+ puts "cd #{_new_dest} && bundle install && bundle exec docwu generate"
55
+
56
+ puts "[#{_new_dest}] already success created!"
57
+ end
58
+
59
+ exit
32
60
  end
33
61
 
34
62
  _default_params = {
35
63
  '-p' => [5656],
36
64
  '-a' => ['0.0.0.0'],
37
- '-c' => ["#{workspace}/config.yml"],
38
- 'DOCWU_ENV' => ['development'],
39
- '-d' => [(args.delete('-d') == '-d')]
65
+ '-c' => ["#{workspace}/config.yml"]
40
66
  }
41
67
 
42
68
  if ['--help', '-h'].include?(_command)
43
69
  puts "docwu:"
44
70
 
71
+ puts " * docwu new [project_name] ; eg.: docwu new project"
72
+ puts ""
73
+ puts " * docwu g, docwu generate, docwu s, docwu server"
45
74
  _default_params.each do |_cmd, _cfg|
46
75
  puts " #{_cmd}, #{_cfg[1]} (default: #{_cfg[0]})"
47
76
  end
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'docwu', '0.0.7'
@@ -0,0 +1,28 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ coderay (1.0.9)
5
+ daemons (1.1.9)
6
+ docwu (0.0.7)
7
+ coderay
8
+ mustache_render
9
+ nokogiri
10
+ redcarpet
11
+ thin
12
+ eventmachine (1.0.3)
13
+ mini_portile (0.5.1)
14
+ mustache_render (0.0.25)
15
+ nokogiri (1.6.0)
16
+ mini_portile (~> 0.5.0)
17
+ rack (1.5.2)
18
+ redcarpet (3.0.0)
19
+ thin (1.5.1)
20
+ daemons (>= 1.0.9)
21
+ eventmachine (>= 0.12.6)
22
+ rack (>= 1.0.0)
23
+
24
+ PLATFORMS
25
+ ruby
26
+
27
+ DEPENDENCIES
28
+ docwu (= 0.0.7)
@@ -0,0 +1,3 @@
1
+ # 团800 Wiki 系统
2
+
3
+
@@ -0,0 +1 @@
1
+ http://sc.chinaz.com/tubiao/121008316061.htm
@@ -0,0 +1,215 @@
1
+ body {
2
+ padding: 0;
3
+ margin: 0;
4
+ color: #503E2C;
5
+ font-family: "Oxygen",Arial,"Hiragino Sans GB","Microsoft YaHei","STHeiti","WenQuanYi Micro Hei",SimSun,sans-serif;
6
+ font-size: 14px;
7
+ letter-spacing: 1px;
8
+ word-wrap: break-word;
9
+ }
10
+
11
+ a:hover {
12
+ color: red !important;
13
+ }
14
+
15
+ a {
16
+ color: #A68800;
17
+ }
18
+
19
+ a.button {
20
+ background-color: #AAB5B5;
21
+ border-radius: 10px;
22
+ -moz-border-radius: 10px;
23
+ color: white;
24
+ display: inline-block;
25
+ margin: 0 5px 5px 0;
26
+ padding: 5px 10px;
27
+ text-decoration: none;
28
+ }
29
+
30
+ img {
31
+ border: none;
32
+ }
33
+
34
+ .wrapper {
35
+ width: 1024px;
36
+ margin: 0 auto;
37
+ }
38
+
39
+ .clearfix:after {
40
+ clear: both;
41
+ content: ".";
42
+ display: block;
43
+ height: 0;
44
+ visibility: hidden;
45
+ }
46
+
47
+ pre {
48
+ padding: 10px;
49
+ font-size: 12px;
50
+ background-color: #F8F8F8;
51
+ border: 1px solid #DDDDDD;
52
+ border-radius: 3px 3px 3px 3px;
53
+ overflow: auto;
54
+ }
55
+
56
+ #header {
57
+ background: none repeat scroll 0 0 #007E8C;
58
+ padding: 10px;
59
+ }
60
+
61
+ #header .nav a {
62
+ color: #fff;
63
+ padding: 0 10px 0 0;
64
+ }
65
+
66
+ #container {
67
+ padding: 5px;
68
+ }
69
+
70
+ #container .path {
71
+ margin: 10px 0;
72
+ padding: 5px;
73
+ height: 24px;
74
+ line-height: 24px;
75
+ overflow: hidden;
76
+ text-indent: 12px;
77
+ color: #666;
78
+ border: 1px solid #ccc;
79
+ }
80
+
81
+ #container .path a {
82
+ color: #666;
83
+ }
84
+
85
+ #container .posterity .folders li.post {
86
+ padding: 5px;
87
+ }
88
+
89
+ #container .posterity .folders li.post .introduction {
90
+ font-size: 80%;
91
+ }
92
+
93
+ #container .posterity .folders li.post a.read-link {
94
+ font-size: 80%;
95
+ color: #503E2C;
96
+ }
97
+
98
+ #container .content {
99
+ padding: 10px;
100
+ }
101
+
102
+ #container .information {
103
+ padding: 0;
104
+ margin: 0 0 10px;
105
+ }
106
+
107
+ #container .information .bar .high {
108
+ color: red;
109
+ }
110
+
111
+ #footer {
112
+ font-size: 12px;
113
+ text-align: center;
114
+ color: #999999;
115
+ }
116
+
117
+ #footer .wrapper {
118
+ border-top: 1px solid #DBDBDB;
119
+ margin: 8px auto auto;
120
+ padding-bottom: 10px;
121
+ padding-top: 10px;
122
+ width: 800px;
123
+ }
124
+
125
+ .dl-catalogs {
126
+ padding: 0;
127
+ margin: 0;
128
+ }
129
+
130
+ .dl-catalogs dd {
131
+ margin: 0;
132
+ line-height: 1.8;
133
+ display: none;
134
+ white-space:nowrap;
135
+ overflow: hidden;
136
+ font-size: 12px;
137
+ }
138
+ .dl-catalogs dd a {
139
+ color: #503E2C;
140
+ }
141
+
142
+ .dl-catalogs dd.catalog-link-h1 {
143
+ display: block;
144
+ padding-left: 10px;
145
+ background: url("/assets/images/shared/icons/li-1.gif") no-repeat scroll 3px 8px transparent
146
+ }
147
+
148
+ .dl-catalogs dd.catalog-link-h2 {
149
+ display: block;
150
+ padding-left: 20px;
151
+ background: url("/assets/images/shared/icons/li-2.gif") no-repeat scroll 13px 8px transparent
152
+ }
153
+
154
+ .dl-catalogs dd.catalog-link-h3 {
155
+ display: block;
156
+ padding-left: 30px;
157
+ background: url("/assets/images/shared/icons/li-3.gif") no-repeat scroll 23px 8px transparent
158
+ }
159
+
160
+ .dl-catalogs dd.catalog-link-h4 {
161
+
162
+ }
163
+
164
+ .dl-catalogs dd.catalog-link-h5 {
165
+
166
+ }
167
+
168
+ .dl-catalogs dd.catalog-link-h6 {
169
+
170
+ }
171
+
172
+ #container .posterity .folders .folder {
173
+ background-color: #EEEEEE;
174
+ clear: both;
175
+ padding: 18px 20px;
176
+ margin: 10px;
177
+ }
178
+
179
+ #container .posterity .folders .folder .self .info {
180
+ font-size: 12px;
181
+ float: right;
182
+ }
183
+
184
+ #container .posterity .folders .folder h3 {
185
+ margin: 0;
186
+ padding: 5px 0 10px;
187
+ }
188
+
189
+ #container .posterity .folders .folder .children {
190
+ float: right;
191
+ width: 835px;
192
+ }
193
+
194
+
195
+ #container .posterity .folders .folder .sub-folders a {
196
+ margin: 5px;
197
+ }
198
+
199
+ #container .posterity .folders .folder img.icon {
200
+ height: 128px;
201
+ }
202
+
203
+ #container .posterity .folders .folder img.sub-icon {
204
+ height: 32px;
205
+ width: 32px;
206
+ }
207
+
208
+ #container .posterity .folders .folder ul.posts {
209
+ padding-left: 15px;
210
+ }
211
+
212
+ #container .posterity .folders .folder ul.posts li {
213
+ line-height: 1.5;
214
+ }
215
+
@@ -0,0 +1,12 @@
1
+ #container .information {
2
+ text-align: left;
3
+ }
4
+
5
+ #container .information h1 {
6
+ margin: 5px 0;
7
+ }
8
+
9
+ #container .information .bar {
10
+ padding: 5px;
11
+ }
12
+
@@ -0,0 +1,103 @@
1
+
2
+ #container .information {
3
+ text-align: center;
4
+ color: #666;
5
+ }
6
+
7
+ #container .information .bar {
8
+ padding: 5px;
9
+ }
10
+
11
+ #container .information .bar-tags {
12
+ }
13
+
14
+ #container .outline {
15
+ background: none repeat scroll 0 0 #F5FCEE;
16
+ border: 1px solid #DCDDDD;
17
+ color: #706A6A;
18
+ font-size: 13px;
19
+ line-height: 24px;
20
+ margin: 8px auto 0;
21
+ padding: 8px 16px;
22
+ text-align: left;
23
+ }
24
+
25
+ #container .container-block {
26
+ background: none repeat scroll 0 0 #EEEEEE;
27
+ }
28
+
29
+ #container .content {
30
+ margin: 0;
31
+ border-radius: 3px 3px 3px 3px;
32
+ padding: 3px;
33
+ }
34
+
35
+ #container .content .content-inner {
36
+ background-color: #FFFFFF;
37
+ border: 1px solid #CACACA;
38
+ padding: 10px;
39
+ }
40
+
41
+ #container .content .content-inner > p {
42
+ text-indent: 2em;
43
+ }
44
+
45
+ .content-workmark > *:first-child {
46
+ margin-top: 0 !important;
47
+ }
48
+
49
+ .content-workmark h1,
50
+ .content-workmark h2,
51
+ .content-workmark h3,
52
+ .content-workmark h4,
53
+ .content-workmark h5,
54
+ .content-workmark h6
55
+ {
56
+ cursor: text;
57
+ font-weight: bold;
58
+ line-height: 1.7;
59
+ margin: 1em 0 15px;
60
+ padding: 0;
61
+ position: relative;
62
+ }
63
+
64
+ .content-workmark h1 {
65
+ border-bottom: 2px solid #DDDDDD;
66
+ font-size: 2.5em;
67
+ }
68
+
69
+ .content-workmark h2 {
70
+ border-bottom: 1px solid #EEEEEE;
71
+ font-size: 1.6em;
72
+ margin-left: 5px;
73
+ }
74
+
75
+ .content-workmark h3 {
76
+ margin-left: 8px;
77
+ }
78
+
79
+ .content-workmark h4 {
80
+ margin-left: 10px;
81
+ }
82
+
83
+ .content-workmark h5 {
84
+ margin-left: 12px;
85
+ }
86
+
87
+ .content-workmark h6 {
88
+ margin-left: 14px;
89
+ }
90
+
91
+ #container .container-main {
92
+ float: left;
93
+ line-height: 1.5;
94
+ margin: 0 auto;
95
+ padding: 5px;
96
+ width: 795px;
97
+ }
98
+
99
+ #container .container-side {
100
+ float: right;
101
+ padding: 10px 8px 0 0;
102
+ width: 210px;
103
+ }
@@ -0,0 +1,12 @@
1
+ #container .information {
2
+ text-align: left;
3
+ }
4
+
5
+ #container .information h1 {
6
+ margin: 5px 0;
7
+ }
8
+
9
+ #container .information .bar {
10
+ padding: 5px;
11
+ }
12
+
@@ -0,0 +1,124 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
5
+ <title>
6
+ 《团800 Wiki 系统, 基本使用文档》 - 帮助 - 团800 Wiki大全
7
+ </title>
8
+ <script type='text/javascript' src='/assets/javascripts/application.js'></script>
9
+ <script type='text/javascript' src='/assets/javascripts/document_post.js'></script>
10
+ <link href="/assets/stylesheets/application.css" media="all" rel="stylesheet" />
11
+ <link href="/assets/stylesheets/document_post.css" media="all" rel="stylesheet" />
12
+ </head>
13
+ <body>
14
+ <div id='header' class='clearfix'>
15
+ <div class='nav wrapper'>
16
+ <a href='/index.html'>首页</a>
17
+
18
+ <a href='/document/projects/tuan800/index.html' title='团800'>团800</a>
19
+ <a href='/document/projects/zhe800/index.html' title='折800'>折800</a>
20
+ <a href='/document/projects/hui800/index.html' title='惠800'>惠800</a>
21
+ <a href='/document/projects/passport800/index.html' title='团800通行证'>团800通行证</a>
22
+ <a href='/document/learning/index.html' title='学习教程'>学习教程</a>
23
+ <a href='/document/juices/index.html' title='每日果汁'>每日果汁</a>
24
+ <a href='/document/help/index.html' title='帮助'>帮助</a>
25
+ </div>
26
+ </div>
27
+
28
+ <div id='container' class='wrapper clearfix'>
29
+ <div class='path'>
30
+ <a href='/index.html'>首页</a>
31
+
32
+ &gt;
33
+ <a href='/document/help/index.html' title='帮助'>帮助</a>
34
+ </div>
35
+
36
+ <div class='information'>
37
+ <h1>团800 Wiki 系统, 基本使用文档</h1>
38
+
39
+ <div class='bar'>
40
+ 时间: 2013-08-30 19:41
41
+
42
+ <span class='bar-authors'>
43
+ 作者:
44
+ <a href='javascript:;'>王进忠</a>
45
+ </span>
46
+
47
+ </div>
48
+
49
+
50
+
51
+ </div>
52
+
53
+ <div class='container-block clearfix'>
54
+ <!-- container-main begin -->
55
+ <div class='container-main clearfix'>
56
+
57
+ <div class='content'>
58
+ <div class='content-inner content-workmark'>
59
+ <h1>
60
+ <a name="markup-h1-1"></a>团800 Wiki 系统</h1>
61
+
62
+ <h2>
63
+ <a name="markup-h2-2"></a>基本命令</h2>
64
+
65
+ <ol>
66
+ <li><p>更新代码</p></li>
67
+ <li>
68
+ <p>安装GEMS:</p>
69
+
70
+ <p>bundle install</p>
71
+ </li>
72
+ <li><p>开发环境开启服务器</p></li>
73
+ </ol>
74
+ <ul>
75
+ <li>bundle exec docwu s # 默认开启, <a href="http://127.0.0.1:5656">http://127.0.0.1:5656</a>
76
+ </li>
77
+ <li>bundle exec docwu s -p 3300 # 以3300端口开启服务器, <a href="http://127.0.0.1:3300">http://127.0.0.1:3300</a>
78
+ </li>
79
+ </ul>
80
+ <ol>
81
+ <li>当文档修改了,需要使用如下命令进行重新生成</li>
82
+ </ol>
83
+ <ul>
84
+ <li>bundle exec docwu g</li>
85
+ </ul>
86
+ <h2>
87
+ <a name="markup-h2-3"></a>TODO LISTS</h2>
88
+
89
+ <ul>
90
+ <li>当本地文档修改后,需要自动重建</li>
91
+ </ul>
92
+ <h2>
93
+ <a name="markup-h2-4"></a>Deploy 生产环境部署</h2>
94
+
95
+ <ul>
96
+ <li><p>可以使用 nginx, apache 等web server启动,<br>
97
+ 注意将项目root指向 -&gt; ruby_wiki/_deploy # !!!!</p></li>
98
+ <li><p>可以使用crontab进行项目自动部署</p></li>
99
+ </ul>
100
+ </div>
101
+ </div>
102
+
103
+ </div> <!-- container-main end -->
104
+
105
+ <div class='container-side clearfix'>
106
+ <h3>文档目录大纲</h3>
107
+ <dl class='dl-catalogs'>
108
+ <dd class='catalog-link-h1'><a href='#markup-h1-1' title='团800 Wiki 系统'>团800 Wiki 系统</a></dd>
109
+ <dd class='catalog-link-h2'><a href='#markup-h2-2' title='基本命令'>基本命令</a></dd>
110
+ <dd class='catalog-link-h2'><a href='#markup-h2-3' title='TODO LISTS'>TODO LISTS</a></dd>
111
+ <dd class='catalog-link-h2'><a href='#markup-h2-4' title='Deploy 生产环境部署'>Deploy 生产环境部署</a></dd>
112
+ </dl>
113
+ </div>
114
+ </div>
115
+
116
+ </div>
117
+ <div id='footer'>
118
+ <div class='wrapper'>
119
+ <p>&copy; 2011-2013 团800文档</p>
120
+ <p>滴水石穿,点点积累</p>
121
+ </div>
122
+ </div>
123
+ </body>
124
+ </html>