muwu 3.0.0.alpha → 3.0.0.beta

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7a3546ed2eb6f4dead8a472ef9460ce5696a5967892151210026e947303766e
4
- data.tar.gz: f53c66c3a78df5157de9930c78444bc821eaa9de6484b628887b720c6cc4acea
3
+ metadata.gz: cd84d886de0b03ecaef0c6cb6eafe2f81e0f36e67b42d1d0a315b76968bff743
4
+ data.tar.gz: 01fec21c061156be890fd9445b3ba1b86f700893e929a1b51630017b6e5e3985
5
5
  SHA512:
6
- metadata.gz: 862b1e8424005ce9f952e3609634a986c0c4d31f3697b24502d1175c643cc88caef93113bd4043c9be22c8f220d5a87721923e3b0554c04cad1856fd78f16881
7
- data.tar.gz: 3e61b41b6dea81978e0226542a1e06ce1caec159bb55f070c2aee54452abd852e190c6328f77b9ee365272ff0dc9c3835dad5e3747eaf3b24196a764121e67fc
6
+ metadata.gz: eea61dd2032e8b8d25dd40236342a1a6753be24a3640d971727fd169e592ab78833d9d8152b36198bc7fb9199ceda36154794db2da2d9fb9a96af6165b5f4985
7
+ data.tar.gz: 7cd2c9592176fb8d45bac5ed55a20f72e20657577656d48c2e97a0781046521fbdcf97a7fc16712e14129ed2ffc92b655c9ddbb6c6432346b1dfd2984389e401
@@ -24,7 +24,8 @@ paths = [
24
24
  'render_html_partial_builder',
25
25
  'render_inspector',
26
26
  'sync',
27
- 'var'
27
+ 'var',
28
+ 'viewer'
28
29
  ]
29
30
 
30
31
 
@@ -34,4 +35,3 @@ paths.map do |path|
34
35
  require file
35
36
  end
36
37
  end
37
-
@@ -1,7 +1,7 @@
1
1
  module Muwu
2
2
 
3
3
 
4
- VERSION = '3.0.0.alpha'
4
+ VERSION = '3.0.0.beta'
5
5
 
6
6
  GEM_HOME_LIB = File.absolute_path(File.join(File.dirname(__FILE__)))
7
7
  GEM_HOME_LIB_MUWU = File.absolute_path(File.join(GEM_HOME_LIB, 'muwu'))
@@ -18,7 +18,7 @@ module Muwu
18
18
  require 'yaml'
19
19
 
20
20
 
21
- require_relative 'muwu_loader'
21
+ require_relative 'loader'
22
22
 
23
23
 
24
24
 
@@ -3,7 +3,7 @@ module Muwu
3
3
 
4
4
 
5
5
  include Muwu
6
-
6
+
7
7
 
8
8
  def initialize(args)
9
9
  @args = args.map do |a|
@@ -14,7 +14,7 @@ module Muwu
14
14
  a.downcase.strip
15
15
  end
16
16
  end
17
-
17
+
18
18
  @current_working_directory = Dir.pwd
19
19
  end
20
20
 
@@ -44,6 +44,8 @@ module Muwu
44
44
  evaluate_command_reset
45
45
  when 'sync'
46
46
  evaluate_command_sync
47
+ when 'view'
48
+ evaluate_command_view
47
49
  when '--version'
48
50
  puts VERSION
49
51
  else
@@ -63,7 +65,7 @@ module Muwu
63
65
 
64
66
  elsif @args[1] == 'css'
65
67
  Controller.new(@current_working_directory).compile_css
66
-
68
+
67
69
  elsif @args[1] == 'html'
68
70
  evaluate_command_compile_html
69
71
 
@@ -74,12 +76,12 @@ module Muwu
74
76
  puts CliHelp.new(:compile).message
75
77
  end
76
78
  end
77
-
78
-
79
+
80
+
79
81
  def evaluate_command_compile_html
80
82
  if @args[2] == nil
81
83
  Controller.new(@current_working_directory).compile_html
82
-
84
+
83
85
  elsif @args[2] =~ /\A[0-9]+\z/
84
86
  Controller.new(@current_working_directory).compile_html_by_index(@args[2].to_i)
85
87
 
@@ -87,12 +89,12 @@ module Muwu
87
89
  puts CliHelp.new(:compile).message
88
90
  end
89
91
  end
90
-
91
-
92
+
93
+
92
94
  def evaluate_command_concat
93
95
  Controller.new(@current_working_directory).concat
94
96
  end
95
-
97
+
96
98
 
97
99
 
98
100
  def evaluate_command_help
@@ -115,6 +117,8 @@ module Muwu
115
117
  puts CliHelp.new(:reset).message
116
118
  when 'sync'
117
119
  puts CliHelp.new(:sync).message
120
+ when 'view'
121
+ puts CliHelp.new(:view).message
118
122
  else
119
123
  puts CliHelp.new(:summary).message
120
124
  end
@@ -133,16 +137,18 @@ module Muwu
133
137
 
134
138
 
135
139
  def evaluate_command_publish
136
- Controller.new(@current_working_directory).publish
140
+ Controller.new(@current_working_directory).publish(@args[1..(@args.length-1)])
137
141
  end
138
-
139
-
142
+
143
+
140
144
  def evaluate_command_reset
141
145
  if @args[1] == nil
142
146
  puts CliHelp.new(:reset).message
143
-
147
+
144
148
  else
145
149
  case @args[1]
150
+ when 'compiled'
151
+ Controller.new(@current_working_directory).reset_compiled
146
152
  when 'css'
147
153
  Controller.new(@current_working_directory).reset_css
148
154
  else
@@ -150,24 +156,29 @@ module Muwu
150
156
  end
151
157
  end
152
158
  end
153
-
154
-
159
+
160
+
155
161
  def evaluate_command_sync
156
162
  if @args[1] == nil
157
163
  puts CliHelp.new(:sync).message
158
-
164
+
159
165
  else
160
166
  case @args[1]
161
167
  when 'down'
162
168
  Controller.new(@current_working_directory).sync_down(@args[2..(@args.length-1)])
163
169
  when 'up'
164
170
  Controller.new(@current_working_directory).sync_up(@args[2..(@args.length-1)])
165
- else
171
+ else
166
172
  puts CliHelp.new(:sync).message
167
173
  end
168
174
  end
169
175
  end
170
-
176
+
177
+
178
+ def evaluate_command_view
179
+ Controller.new(@current_working_directory).view
180
+ end
181
+
171
182
 
172
183
  end
173
184
  end
@@ -1,7 +1,9 @@
1
- - muwu publish
2
- - Publishes compiled documents (as indicated by the current outline and
3
- manifest) to a remote location using scp. Scp must be installed on the
4
- local system.
5
-
6
- * Specify the remote host in 'options.yml' using the 'remote_publish' value.
1
+ - muwu publish [options]
2
+ - Publishes compiled documents currently in `compiled/` to a remote location
3
+ using rsync. Rsync must be installed on the local system.
4
+
5
+ - [options]
6
+ - dry-run: invoke the rsync '-n' switch to show which files will be
7
+ transferred, but do not actually transfer any files.
7
8
 
9
+ * Specify the remote host in 'options.yml' using the 'remote_publish' value.
@@ -1,7 +1,10 @@
1
+ - muwu reset compiled
2
+ - Clear the entire contentes of the `compiled/` folder.
3
+
1
4
  - muwu reset css
2
5
  - Reset the `config/css` folder. The following files and folders will
3
6
  revert to their original state:
4
-
7
+
5
8
  - config/css/base/
6
9
  - config/css/colors/dark.scss
7
10
  - config/css/colors/index.scss
@@ -10,5 +13,5 @@
10
13
 
11
14
  * If `config/css/extensions` does exist, it and its contents will remain
12
15
  unchanged.
13
-
16
+
14
17
  * If `config/css/extensions` does not exist, Muwu will create it.
@@ -6,11 +6,13 @@ Command line:
6
6
  muwu help show this message
7
7
  muwu inspect inspect a project
8
8
  muwu new create a new project directory
9
- muwu publish publish to a remote server (requires scp)
9
+ muwu publish publish to a remote server (requires rsync)
10
+ muwu reset compiled reset the `compiled/` subdirectory
10
11
  muwu reset css reset the default CSS files
11
12
  muwu sync syncronize from/to a remote server (requires rsync)
13
+ muwu view view a compiled project (requires lynx)
12
14
 
13
- All comands operate within the current working directory.
15
+ All commands operate within the current working directory.
14
16
 
15
17
  For more detailed instructions:
16
18
  muwu help [command]
@@ -1,18 +1,18 @@
1
1
  - muwu sync [down | up] [options]
2
2
  - Synchronize project from/to a remote location using rsync. Rsync must be
3
3
  installed on the local system.
4
-
4
+
5
5
  - muwu sync down
6
6
  - Use rsync to download the project from a remote host.
7
-
7
+
8
8
  - muwu sync up
9
9
  - Use rsync to upload to project to a remote host.
10
-
10
+
11
11
  - [options]
12
12
  - dry-run: invoke the rsync '-n' switch to show which files will be
13
- transferred, but do not actually transfer files.
14
-
13
+ transferred, but do not actually transfer any files.
14
+
15
15
  * Specify the remote host in 'options.yml' using the 'remote_sync' value.
16
-
16
+
17
17
  * Muwu will invoke the rsync switches '-r' to recurse subdirectories, and
18
18
  '-v' to give a verbose description
@@ -0,0 +1,4 @@
1
+ - muwu view
2
+ - View a compiled porject in `compiled/` using lynx. Lynx must be installed
3
+ on the local system.
4
+
@@ -3,7 +3,7 @@ module Muwu
3
3
 
4
4
 
5
5
  include Muwu
6
-
6
+
7
7
 
8
8
  def initialize(current_working_directory)
9
9
  @current_working_directory = File.absolute_path(current_working_directory)
@@ -20,11 +20,11 @@ module Muwu
20
20
  if @project.does_not_have_crucial_files
21
21
  reply_folder_does_not_have_valid_project
22
22
  else
23
- RenderHtml.new(@project).render
23
+ RenderHtml.new(@project).render_all
24
24
  end
25
25
  end
26
-
27
-
26
+
27
+
28
28
  def compile_css
29
29
  @project = read_project_from_current_working_directory
30
30
  if @project.does_not_have_crucial_files
@@ -33,8 +33,8 @@ module Muwu
33
33
  RenderHtml.new(@project).render_css_only
34
34
  end
35
35
  end
36
-
37
-
36
+
37
+
38
38
  def compile_html_by_index(index)
39
39
  @project = read_project_from_current_working_directory
40
40
  if @project.does_not_have_crucial_files
@@ -43,7 +43,7 @@ module Muwu
43
43
  RenderHtml.new(@project).render_html_by_index(index)
44
44
  end
45
45
  end
46
-
46
+
47
47
 
48
48
  def compile_html
49
49
  @project = read_project_from_current_working_directory
@@ -53,8 +53,8 @@ module Muwu
53
53
  RenderHtml.new(@project).render_html_only
54
54
  end
55
55
  end
56
-
57
-
56
+
57
+
58
58
  def compile_js
59
59
  @project = read_project_from_current_working_directory
60
60
  if @project.does_not_have_crucial_files
@@ -63,8 +63,8 @@ module Muwu
63
63
  RenderHtml.new(@project).render_js_only
64
64
  end
65
65
  end
66
-
67
-
66
+
67
+
68
68
  def concat
69
69
  @project = read_project_from_current_working_directory
70
70
  if @project.does_not_have_crucial_files
@@ -73,8 +73,8 @@ module Muwu
73
73
  RenderConcat.new(@project).render
74
74
  end
75
75
  end
76
-
77
-
76
+
77
+
78
78
  def inspect
79
79
  @project = read_project_from_current_working_directory
80
80
  if @project.does_not_have_crucial_files
@@ -90,14 +90,30 @@ module Muwu
90
90
  @project = ProjectStarter.new(@current_working_directory, metadata).new_project
91
91
  ProjectWriter.new(@project).write
92
92
  end
93
-
94
-
95
- def publish
93
+
94
+
95
+ def publish(args)
96
+ @project = read_project_from_current_working_directory
97
+ if @project.does_not_have_crucial_files
98
+ reply_folder_does_not_have_valid_project
99
+ else
100
+ Publish.new(@project, args: args).up
101
+ end
102
+ end
103
+
104
+
105
+ def reset_compiled
96
106
  @project = read_project_from_current_working_directory
97
- Publish.new(@project).up
107
+ if @project.does_not_have_crucial_files
108
+ reply_folder_does_not_have_valid_project
109
+ else
110
+ if ControllerInteraction.new.confirm_reset_compiled(@project)
111
+ ProjectResetCompiled.new(@project).reset_compiled
112
+ end
113
+ end
98
114
  end
99
-
100
-
115
+
116
+
101
117
  def reset_css
102
118
  @project = read_project_from_current_working_directory
103
119
  if @project.does_not_have_crucial_files
@@ -106,24 +122,42 @@ module Muwu
106
122
  ProjectResetCss.new(@project).reset_css
107
123
  end
108
124
  end
109
-
110
-
125
+
126
+
111
127
  def sync_down(args)
112
128
  @project = read_project_from_current_working_directory
113
- Sync.new(@project, args: args).down
129
+ if @project.does_not_have_crucial_files
130
+ reply_folder_does_not_have_valid_project
131
+ else
132
+ Sync.new(@project, args: args).down
133
+ end
114
134
  end
115
-
116
-
135
+
136
+
117
137
  def sync_up(args)
118
138
  @project = read_project_from_current_working_directory
119
- Sync.new(@project, args: args).up
139
+ if @project.does_not_have_crucial_files
140
+ reply_folder_does_not_have_valid_project
141
+ else
142
+ Sync.new(@project, args: args).up
143
+ end
144
+ end
145
+
146
+
147
+ def view
148
+ @project = read_project_from_current_working_directory
149
+ if @project.does_not_have_crucial_files
150
+ reply_folder_does_not_have_valid_project
151
+ else
152
+ Viewer.new(@project)
153
+ end
120
154
  end
121
155
 
122
156
 
123
157
 
124
158
  private
125
-
126
-
159
+
160
+
127
161
  def read_project_from_current_working_directory
128
162
  ProjectReader.build { |b| b.load_path(@current_working_directory) }
129
163
  end
@@ -131,8 +165,9 @@ module Muwu
131
165
 
132
166
  def reply_folder_does_not_have_valid_project
133
167
  puts @project.exceptions
134
- puts "Is this a Muwu project folder?"
168
+ puts "Is this a Muwu project home folder?"
135
169
  end
136
170
 
171
+
137
172
  end
138
173
  end
@@ -1,7 +1,7 @@
1
1
  module Muwu
2
2
  module Default
3
-
4
-
3
+
4
+
5
5
  FILENAMES = {
6
6
  css_manifest: 'index.scss',
7
7
  metadata: 'metadata.yml',
@@ -9,8 +9,9 @@ module Muwu
9
9
  outline: 'outline.yml'
10
10
  }
11
11
 
12
-
12
+
13
13
  FILEPATHS = {
14
+ compiled: './compiled',
14
15
  css: './config/css',
15
16
  metadata: '',
16
17
  options: '',
@@ -18,8 +19,9 @@ module Muwu
18
19
  text: './text'
19
20
  }
20
21
 
21
-
22
+
22
23
  PROJECT_OPTIONS = {
24
+ expunge_when_compiling_all: true,
23
25
  generate_navigators_automatically: true,
24
26
  generate_subcontents_automatically: false,
25
27
  html_head_includes_metadata_tags: true,
@@ -42,12 +44,12 @@ module Muwu
42
44
  render_title_section_metadata: ['title', 'subtitle', 'author'],
43
45
  warning_if_parent_heading_lacks_source: true
44
46
  }
45
-
46
-
47
+
48
+
47
49
  PROJECT_OUTLINE = {
48
50
  default_text_block_name: 'main'
49
51
  }
50
-
51
-
52
+
53
+
52
54
  end
53
- end
55
+ end