mr_hyde 0.2.1 → 0.3.0
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 +4 -4
- data/.gitignore +1 -0
- data/Gemfile +0 -2
- data/README.md +7 -7
- data/Rakefile +25 -6
- data/lib/mr_hyde.rb +7 -15
- data/lib/mr_hyde/commands/remove.rb +2 -2
- data/lib/mr_hyde/configuration.rb +4 -13
- data/lib/mr_hyde/extensions/new.rb +3 -2
- data/lib/mr_hyde/jekyll_ext/converters/scss.rb +1 -1
- data/lib/mr_hyde/jekyll_ext/site.rb +1 -0
- data/lib/mr_hyde/jekyll_ext/tags/include.rb +2 -2
- data/lib/mr_hyde/site.rb +41 -42
- data/lib/mr_hyde/version.rb +1 -1
- data/lib/site_template/{sources/_assets → _assets}/_sass/_base.scss +0 -0
- data/lib/site_template/{sources/_assets → _assets}/_sass/_functions.scss +0 -0
- data/lib/site_template/{sources/_assets → _assets}/_sass/_grid.scss +0 -0
- data/lib/site_template/{sources/_assets → _assets}/_sass/_layout.scss +0 -0
- data/lib/site_template/{sources/_assets → _assets}/_sass/_newbase.scss +0 -0
- data/lib/site_template/{sources/_assets → _assets}/_sass/_normalize.scss +0 -0
- data/lib/site_template/{sources/_assets → _assets}/_sass/_syntax-highlighting.scss +0 -0
- data/lib/site_template/_config.yml +1 -1
- data/lib/site_template/{sources/_includes → _includes}/footer.html +0 -0
- data/lib/site_template/{sources/_includes → _includes}/head.html +0 -0
- data/lib/site_template/{sources/_includes → _includes}/header.html +0 -0
- data/lib/site_template/{sources/_layouts → _layouts}/default.html +0 -2
- data/lib/site_template/{sources/_layouts → _layouts}/page.html +0 -0
- data/lib/site_template/{sources/_layouts → _layouts}/post.html +0 -0
- data/lib/site_template/_mrhyde.yml +1 -1
- data/lib/site_template/_site/about.md +9 -0
- data/lib/site_template/{sources/main_site → _site}/css/main.scss +0 -0
- data/lib/site_template/{sources/main_site → _site}/css/normalize.css +0 -0
- data/lib/site_template/{sources/main_site → _site}/index.md +3 -1
- data/lib/subsite_template/_posts/0000-00-00-welcome-to-mr-hyde.markdown.erb +2 -2
- data/lib/subsite_template/about.md +1 -1
- data/mr_hyde.gemspec +7 -3
- data/spec/build_spec.rb +21 -4
- data/spec/list_spec.rb +0 -1
- data/spec/new_spec.rb +25 -17
- data/spec/rm_spec.rb +11 -12
- data/test/configuraton_test.rb +16 -0
- metadata +101 -32
- data/lib/site_template/sources/main_site/about.md +0 -9
- data/lib/site_template/sources/main_site/js/main.coffee +0 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be4ff45145b0410676993b7b61ad2c16d57a359e
|
4
|
+
data.tar.gz: 9f39ac565f3179c71730618c3315ba210d2da606
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 582235b101b3d514d1c60e197d7b29a7e508d96fc1f646289b04265dd77651ba95e9736f4865f69652dc42aea8d0815856fa261771c5cc566099294931498d31
|
7
|
+
data.tar.gz: d0851cc6dabc5528c0f61b8c6f6ef1a8d0cf4d680901f2e0423dcb223107a25593249c481866454dad5135d364c140d2c4b257b5cacedc297c9267317f36b273
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
<img src="https://raw.githubusercontent.com/emoriarty/mr_hyde/master/resources/mrhyde-logo.png" alt="Mr.Hyde logo" height="100"/>
|
2
2
|
# MrHyde
|
3
|
-
Mr. Hyde lets you generate and manage as many static sites as you like, all nested from a parent site, for example, you can have several nested sites sharing the same assets than
|
3
|
+
Mr. Hyde lets you generate and manage as many static sites as you like, all nested from a parent site, for example, you can have several nested sites sharing the same assets than parent site and other nested sites with its own assets.
|
4
4
|
|
5
|
-
All this
|
5
|
+
All this works thanks to [Jekyll](http://jekyllrb.com) tool, in fact Mr. Hyde wraps Jekyll so if you know Jekyll there is no much to learn about Mr. Hyde.
|
6
6
|
|
7
|
-
The current version is based on [Jekyll
|
7
|
+
The current version is based on [Jekyll 3.1.1](https://github.com/jekyll/jekyll/tree/v3.1.1).
|
8
8
|
|
9
9
|
## Installation
|
10
10
|
|
@@ -28,15 +28,15 @@ $ gem install mr_hyde
|
|
28
28
|
|
29
29
|
## Usage
|
30
30
|
|
31
|
-
In order to use Mr. Hyde the first thing you must do is creating the Mr. Hyde
|
31
|
+
In order to use Mr. Hyde the first thing you must do is creating the Mr. Hyde root folder using the next command:
|
32
32
|
|
33
33
|
```bash
|
34
|
-
$ mrhyde new [
|
34
|
+
$ mrhyde new [NAME]
|
35
35
|
```
|
36
36
|
|
37
|
-
The previuos command creates the basic structure folder
|
37
|
+
The previuos command creates the basic structure folder within the new folder NAME, in case the name is not provided then the same folder will be used.
|
38
38
|
|
39
|
-
Once created
|
39
|
+
Once created cd the Mr. Hyde root folder (or the same if no NAME was given) and you can execute the next commands:
|
40
40
|
|
41
41
|
```bash
|
42
42
|
$ cd PATH
|
data/Rakefile
CHANGED
@@ -4,10 +4,29 @@ require "rake/testtask"
|
|
4
4
|
ENV["JEKYLL_LOG_LEVEL"] = "error"
|
5
5
|
ENV["MRHYDE_LOG_LEVEL"] = "error"
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
task :test_task do
|
8
|
+
Rake::TestTask.new do |t|
|
9
|
+
t.libs.push "lib"
|
10
|
+
t.test_files = FileList["spec/*_spec.rb"]
|
11
|
+
#t.pattern = "test/*_test.rb"
|
12
|
+
#t.verbose = true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
task :unit_task do
|
17
|
+
Rake::TestTask.new("unit") do |t|
|
18
|
+
t.libs.push "lib"
|
19
|
+
t.test_files = FileList["test/*_test.rb"]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
|
24
|
+
task :test do
|
25
|
+
Rake::Task["unit_task"].clear
|
26
|
+
Rake::Task["test_task"].invoke
|
27
|
+
end
|
28
|
+
|
29
|
+
task :unit do
|
30
|
+
Rake::Task["test_task"].clear
|
31
|
+
Rake::Task["unit_task"].invoke
|
13
32
|
end
|
data/lib/mr_hyde.rb
CHANGED
@@ -43,7 +43,7 @@ module MrHyde
|
|
43
43
|
|
44
44
|
# Jekyll per site configuration
|
45
45
|
# This method gets the config files which must be read from jekyll.
|
46
|
-
# _config.yml <
|
46
|
+
# _config.yml < sites/site/_config.yml < override
|
47
47
|
#
|
48
48
|
def site_configuration(site_name = nil)
|
49
49
|
jekyll_config = jekyll_defaults(site_name)
|
@@ -66,23 +66,19 @@ module MrHyde
|
|
66
66
|
'source' => File.join(MrHyde.sources_sites, site_name) }
|
67
67
|
else
|
68
68
|
site_name = config['mainsite']
|
69
|
-
{ 'source' => File.join(
|
69
|
+
{ 'source' => File.join(site_name),
|
70
70
|
'destination' => File.join(MrHyde.destination) }
|
71
71
|
end
|
72
72
|
|
73
|
-
conf.merge({ '
|
73
|
+
conf.merge({ 'layouts_dir' => File.join(config['layouts_dir']) })
|
74
74
|
end
|
75
75
|
|
76
76
|
def has_jekyll_config?
|
77
77
|
File.exist? File.expand_path(File.join(source, @config['jekyll_config']))
|
78
78
|
end
|
79
|
-
|
80
|
-
def sources
|
81
|
-
config['sources']
|
82
|
-
end
|
83
79
|
|
84
80
|
def sources_sites
|
85
|
-
File.join config['
|
81
|
+
File.join config['sources_sites']
|
86
82
|
end
|
87
83
|
|
88
84
|
def destination
|
@@ -90,7 +86,7 @@ module MrHyde
|
|
90
86
|
end
|
91
87
|
|
92
88
|
def main_site
|
93
|
-
File.join source,
|
89
|
+
File.join source, config['mainsite']
|
94
90
|
end
|
95
91
|
|
96
92
|
# Public: Fetch the logger instance for this Jekyll process.
|
@@ -156,7 +152,6 @@ module MrHyde
|
|
156
152
|
# FileUtils.copy_file(jekyll_config, File.join(path, File.basename(jekyll_config)))
|
157
153
|
# Creating the default jekyll site in mrhyde
|
158
154
|
Dir.chdir(path) do
|
159
|
-
FileUtils.mkdir(%w(sources)) unless File.exist? 'sources'
|
160
155
|
Site.create ['sample-site'], { 'force' => 'force' }
|
161
156
|
Site.create ['sample-full-site'], { 'full' => 'full', 'force' => 'force' }
|
162
157
|
end
|
@@ -164,11 +159,8 @@ module MrHyde
|
|
164
159
|
|
165
160
|
def create_blank_site(path)
|
166
161
|
Dir.chdir(path) do
|
167
|
-
FileUtils.mkdir(
|
168
|
-
Dir.chdir('
|
169
|
-
FileUtils.mkdir %w(_layouts _includes main_site)
|
170
|
-
end
|
171
|
-
Dir.chdir(File.join('sources', 'main_site')) do
|
162
|
+
FileUtils.mkdir %w(_layouts _includes _site)
|
163
|
+
Dir.chdir(File.join('_site')) do
|
172
164
|
FileUtils.touch 'index.html'
|
173
165
|
end
|
174
166
|
end
|
@@ -6,8 +6,8 @@ module MrHyde
|
|
6
6
|
class Remove < MrHyde::Command
|
7
7
|
class << self
|
8
8
|
def process(args, opts = {})
|
9
|
-
if args.length == 0
|
10
|
-
|
9
|
+
if args.length == 0 and not opts['all']
|
10
|
+
MrHyde.logger.warn("A site name must be typed. You can see a list of nested sites using the 'list' command.")
|
11
11
|
else
|
12
12
|
Site.remove args, opts
|
13
13
|
end
|
@@ -3,25 +3,16 @@ require "jekyll/configuration"
|
|
3
3
|
module MrHyde
|
4
4
|
|
5
5
|
class Configuration < Jekyll::Configuration
|
6
|
-
|
7
|
-
DEFAULTS = {
|
6
|
+
DEFAULTS.merge!({
|
8
7
|
# Places
|
9
8
|
'source' => Dir.pwd,
|
10
|
-
'sources' => 'sources',
|
11
|
-
'sources_sites' => '_sites',
|
12
9
|
'destination' => 'site',
|
13
|
-
'
|
14
|
-
'includes' => '_includes',
|
10
|
+
'sources_sites' => '_sites',
|
15
11
|
'config' => '_mrhyde.yml',
|
16
12
|
'jekyll_config' => '_config.yml',
|
17
13
|
'assets' => '_assets',
|
18
|
-
'mainsite' => '
|
19
|
-
|
20
|
-
'detach' => false, # default to not detaching the server
|
21
|
-
'port' => '4000',
|
22
|
-
'host' => '127.0.0.1',
|
23
|
-
'baseurl' => ''
|
24
|
-
}
|
14
|
+
'mainsite' => '_site'
|
15
|
+
})
|
25
16
|
|
26
17
|
def read_config_files(files)
|
27
18
|
configuration = clone
|
@@ -28,6 +28,7 @@ module MrHyde
|
|
28
28
|
|
29
29
|
if options["blank"]
|
30
30
|
create_blank_site new_site_path, options
|
31
|
+
Jekyll.logger.info "New jekyll site installed in #{new_site_path}."
|
31
32
|
elsif options["full"]
|
32
33
|
create_independant_sample_files args, options
|
33
34
|
else
|
@@ -36,9 +37,9 @@ module MrHyde
|
|
36
37
|
File.open(File.expand_path(initialized_post_name, new_site_path), "w") do |f|
|
37
38
|
f.write(scaffold_post_content)
|
38
39
|
end
|
40
|
+
Jekyll.logger.info "New jekyll site installed in #{new_site_path}."
|
39
41
|
end
|
40
42
|
|
41
|
-
Jekyll.logger.info "New jekyll site installed in #{new_site_path}."
|
42
43
|
end
|
43
44
|
|
44
45
|
def create_blank_site(path, opts)
|
@@ -69,7 +70,7 @@ module MrHyde
|
|
69
70
|
def scaffold_path
|
70
71
|
"_posts/0000-00-00-welcome-to-mr-hyde.markdown.erb"
|
71
72
|
end
|
72
|
-
|
73
|
+
end
|
73
74
|
end
|
74
75
|
end
|
75
76
|
end
|
@@ -9,7 +9,7 @@ module Converters
|
|
9
9
|
|
10
10
|
def sass_load_paths
|
11
11
|
paths = pristine_sass_load_paths
|
12
|
-
common_assets = Jekyll.sanitized_path(File.join(MrHyde.
|
12
|
+
common_assets = Jekyll.sanitized_path(File.join(MrHyde.config['assets']), sass_dir)
|
13
13
|
paths << common_assets if File.directory? common_assets
|
14
14
|
|
15
15
|
paths
|
@@ -7,14 +7,14 @@ module Tags
|
|
7
7
|
class IncludeTag
|
8
8
|
=begin
|
9
9
|
def tag_includes_dir
|
10
|
-
File.join MrHyde.
|
10
|
+
File.join MrHyde.config['includes']
|
11
11
|
=end
|
12
12
|
|
13
13
|
def resolved_includes_dir(context)
|
14
14
|
path = File.join(File.realpath(context.registers[:site].source), @includes_dir)
|
15
15
|
|
16
16
|
unless File.directory? path
|
17
|
-
path = File.join(File.realpath(MrHyde.source),
|
17
|
+
path = File.join(File.realpath(MrHyde.source), @includes_dir)
|
18
18
|
end
|
19
19
|
|
20
20
|
path
|
data/lib/mr_hyde/site.rb
CHANGED
@@ -9,7 +9,7 @@ module MrHyde
|
|
9
9
|
def init(args, opts)
|
10
10
|
opts = MrHyde.configuration(opts)
|
11
11
|
@source = if opts['main']
|
12
|
-
File.join MrHyde.source
|
12
|
+
File.join MrHyde.source
|
13
13
|
else
|
14
14
|
File.join MrHyde.source, MrHyde.sources_sites
|
15
15
|
end
|
@@ -55,20 +55,17 @@ module MrHyde
|
|
55
55
|
# 'all' => 'all' Removes all built sites
|
56
56
|
# 'full' => 'full' Removes built and source site/s
|
57
57
|
#
|
58
|
-
def remove(args, opts = {})
|
58
|
+
def remove(args = nil, opts = {})
|
59
59
|
init(args, opts)
|
60
60
|
|
61
|
-
if
|
61
|
+
if not args.nil? and not args.empty?
|
62
|
+
remove_sites args, opts
|
63
|
+
elsif opts['all']
|
62
64
|
list(MrHyde.sources_sites).each do |sm|
|
63
65
|
remove_site sm, opts
|
64
66
|
end
|
65
|
-
elsif args.kind_of? Array
|
66
|
-
args.each do |sm|
|
67
|
-
remove_site sm, opts
|
68
|
-
end
|
69
|
-
else
|
70
|
-
remove_site args, opts
|
71
67
|
end
|
68
|
+
build
|
72
69
|
rescue Exception => e
|
73
70
|
MrHyde.logger.error "cannot remove the site: #{e}"
|
74
71
|
end
|
@@ -83,35 +80,21 @@ module MrHyde
|
|
83
80
|
# Hash
|
84
81
|
# 'all' => 'all' Builds all built sites
|
85
82
|
#
|
86
|
-
def build(args, opts = {})
|
83
|
+
def build(args = nil, opts = {})
|
87
84
|
init(args, opts)
|
88
85
|
|
89
|
-
|
90
|
-
|
91
|
-
build_main_site(opts) unless File.exist? MrHyde.destination
|
86
|
+
# If there is no destinarion folder then will be created
|
87
|
+
mk_destination(opts) unless File.exist? MrHyde.destination
|
92
88
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
end
|
100
|
-
else
|
101
|
-
if opts["all"]
|
102
|
-
build_main_site(opts)
|
103
|
-
build_sites sources_list, opts
|
104
|
-
else
|
105
|
-
# Fetching the list of built sites to rebuild again once the main site has been built
|
106
|
-
if File.exist? MrHyde.destination
|
107
|
-
nested_sites = built_list
|
108
|
-
build_main_site(opts)
|
109
|
-
build_sites nested_sites, opts
|
110
|
-
else
|
111
|
-
build_main_site(opts)
|
112
|
-
end
|
113
|
-
end
|
89
|
+
if not args.nil? and not args.empty?
|
90
|
+
build_sites args, opts
|
91
|
+
elsif opts["all"]
|
92
|
+
# Build all sites and after build/rebuild the main site
|
93
|
+
# so all global variables referent to nested site will be loaded
|
94
|
+
build_sites sources_list, opts
|
114
95
|
end
|
96
|
+
# By default the main site is built
|
97
|
+
build_main_site(opts)
|
115
98
|
rescue Exception => e
|
116
99
|
MrHyde.logger.error "cannot build site: #{e}"
|
117
100
|
MrHyde.logger.error e.backtrace
|
@@ -171,7 +154,7 @@ module MrHyde
|
|
171
154
|
end
|
172
155
|
|
173
156
|
def is_main?(name)
|
174
|
-
File.directory? File.join(
|
157
|
+
File.directory? File.join(name)
|
175
158
|
end
|
176
159
|
|
177
160
|
private
|
@@ -179,24 +162,29 @@ module MrHyde
|
|
179
162
|
def create_site(args, opts = {})
|
180
163
|
begin
|
181
164
|
if args.kind_of? Array
|
182
|
-
args.each
|
183
|
-
raise() if is_main(args)
|
184
|
-
end
|
165
|
+
args.each{ |name| raise() if is_main(name) }
|
185
166
|
else
|
186
167
|
raise() if is_main?(args)
|
187
168
|
end
|
188
|
-
rescue
|
169
|
+
rescue
|
189
170
|
raise ArgumentError, 'The site\'s name cannot be the same than the main site name'
|
190
171
|
end
|
191
172
|
|
192
173
|
MrHyde::Extensions::New.process [File.join(MrHyde.sources_sites, args)], opts
|
193
|
-
MrHyde.logger.info "New #{args} created in #{MrHyde.sources_sites}"
|
194
174
|
exist? args, opts
|
195
175
|
end
|
196
176
|
|
177
|
+
def remove_sites(args, opts = {})
|
178
|
+
args = [args] if args.kind_of? String
|
179
|
+
|
180
|
+
args.each do |sm|
|
181
|
+
remove_site sm, opts
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
197
185
|
def remove_site(name, opts = {})
|
198
|
-
#
|
199
|
-
# This checking is not mandatory, never can be removed
|
186
|
+
# OBSOLETE
|
187
|
+
# This checking is not mandatory, never can be removed from here the main site
|
200
188
|
if is_main?(name)
|
201
189
|
MrHyde.logger.warning "Cannot remove main site: #{name}"
|
202
190
|
return
|
@@ -213,6 +201,8 @@ module MrHyde
|
|
213
201
|
end
|
214
202
|
|
215
203
|
def build_sites(site_names, opts)
|
204
|
+
site_names = [site_names] if site_names.kind_of? String
|
205
|
+
|
216
206
|
site_names.each do |sn|
|
217
207
|
begin
|
218
208
|
build_site(sn, opts)
|
@@ -231,9 +221,18 @@ module MrHyde
|
|
231
221
|
|
232
222
|
def build_main_site(opts)
|
233
223
|
conf = MrHyde.main_site_configuration
|
224
|
+
keep_built_sites conf
|
234
225
|
Jekyll::Commands::Build.process conf
|
235
226
|
end
|
236
227
|
|
228
|
+
def keep_built_sites(conf)
|
229
|
+
conf['keep_files'] = built_list
|
230
|
+
end
|
231
|
+
|
232
|
+
def mk_destination(opts)
|
233
|
+
conf = MrHyde.main_site_configuration
|
234
|
+
Dir.mkdir conf["destination"]
|
235
|
+
end
|
237
236
|
|
238
237
|
def check_site(site_name, method, message)
|
239
238
|
if not send(method, site_name)
|
data/lib/mr_hyde/version.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -8,7 +8,7 @@ description: > # this means to ignore newlines until "baseurl:"
|
|
8
8
|
line in _config.yml. It will appear in your document head meta (for
|
9
9
|
Google search results) and in your feed.xml site description.
|
10
10
|
baseurl: "" # the subpath of your site, e.g. /blog/
|
11
|
-
mainsite: "
|
11
|
+
mainsite: "_site" # this is the name of the root default site, where all sites will be nested
|
12
12
|
url: "http://yourdomain.com" # the base hostname & protocol for your site
|
13
13
|
twitter_username: mrhyderb
|
14
14
|
github_username: mrhyde
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,2 +1,2 @@
|
|
1
1
|
# Mr. Hyde settings
|
2
|
-
mainsite: "
|
2
|
+
mainsite: "_site" # this is the name of the root default site, where all sites will be nested
|
@@ -0,0 +1,9 @@
|
|
1
|
+
---
|
2
|
+
layout: page
|
3
|
+
title: About
|
4
|
+
permalink: /about/
|
5
|
+
id: about
|
6
|
+
---
|
7
|
+
|
8
|
+
This is the base Mr. Hyde theme. You can customize it modifying the styles assets include in `root-folder/_assets/_sass` or just include you css files in the sites folder of your Mr. Hyde project and reference them in your html header.
|
9
|
+
|
File without changes
|
File without changes
|
@@ -5,7 +5,9 @@ permalink: /
|
|
5
5
|
id: home
|
6
6
|
---
|
7
7
|
|
8
|
-
Welcome to your first Mr. Hyde site. This page is a sample
|
8
|
+
Welcome to your first Mr. Hyde site. This page is a sample created by default when you make a new Mr. Hyde site, you can use it as a scaffold for your site or create a blank one (look options). You can find this file in `root-folder/site/index.html` but if you like to modify this file then open `root-folder/_site/index.md`.
|
9
|
+
Below you can see a list of sample subsites, click on them to know more about subsites.
|
10
|
+
All sites are created using [Jekyll](http://jekyllrb.com) including the main site. You can read more about Mr. Hyde usage documentation at [Mr. Hyde wiki](https://github.com/emoriarty/mr_hyde/wiki).
|
9
11
|
|
10
12
|
You can find the source code for the Mr. Hyde at: <a href="https://github.com/emoriarty/mr_hyde/">https://github.com/emoriarty/mr_hyde</a>.
|
11
13
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
---
|
2
2
|
layout: post
|
3
3
|
title: "Welcome to Mr. Hyde!"
|
4
|
-
date: <%= Time.now.strftime('%Y-%m-%d %H:%M:%S') %>
|
4
|
+
date: <%= Time.now.strftime('%Y-%m-%d %H:%M:%S %z') %>
|
5
5
|
categories: mrhyde jekyll update
|
6
6
|
---
|
7
7
|

|
8
8
|
|
9
|
-
You’ll find this post in your `
|
9
|
+
You’ll find this post in your `root-folder/_sites/sample-site/_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `mrhyde build`, which build your site, and after `mrhyde serve`, which launches a web server.
|
10
10
|
|
11
11
|
To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
|
12
12
|
|
@@ -5,5 +5,5 @@ permalink: /about/
|
|
5
5
|
id: about
|
6
6
|
---
|
7
7
|
|
8
|
-
This is the base Mr. Hyde theme. You can customize it modifying the styles assets include in `
|
8
|
+
This is the base Mr. Hyde theme. You can customize it modifying the styles assets include in `root-fodler/_assets/_sass` or just include you css files in the sites folder of your Mr. Hyde project and reference them in your html header.
|
9
9
|
|
data/mr_hyde.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["enrique.arias.cervero@gmail.com"]
|
11
11
|
spec.summary = %q{Mr. Hyde lets you generate and manage as many sites as you want.}
|
12
12
|
spec.description = %q{Mr. Hyde lets you generate and manage as many sites as you want, something similar like Medium. It's based on Jekyll.}
|
13
|
-
spec.homepage = ""
|
13
|
+
spec.homepage = "https://github.com/emoriarty/mr_hyde"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
@@ -20,7 +20,11 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.7"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
-
spec.add_development_dependency "minitest", "~> 5.
|
23
|
+
spec.add_development_dependency "minitest", "~> 5.8", ">= 5.8.4"
|
24
|
+
spec.add_development_dependency "minitest-reporters", "~> 1.1", ">= 1.1.7"
|
25
|
+
spec.add_development_dependency "pry"
|
26
|
+
spec.add_development_dependency "byebug", "~> 8.2.2"
|
24
27
|
|
25
|
-
spec.add_runtime_dependency "jekyll", "~>
|
28
|
+
spec.add_runtime_dependency "jekyll", "~> 3.1", ">=3.1.1"
|
29
|
+
spec.add_runtime_dependency "mercenary", "~> 0.3", ">=0.3.5"
|
26
30
|
end
|
data/spec/build_spec.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
require "minitest/autorun"
|
2
|
-
require "minitest/
|
2
|
+
require "minitest/reporters"
|
3
3
|
require "fileutils"
|
4
4
|
require_relative "../lib/mr_hyde"
|
5
5
|
require_relative "../lib/mr_hyde/site"
|
6
6
|
|
7
|
-
|
7
|
+
Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new, Minitest::Reporters::ProgressReporter.new]
|
8
|
+
|
9
|
+
describe "Checking MrHyde build command" do
|
8
10
|
before do
|
9
11
|
@site_name = 'test'
|
10
12
|
@nested_site_name = 'nested_site'
|
@@ -19,6 +21,11 @@ describe "Checking if MrHyde can build sites" do
|
|
19
21
|
FileUtils.remove_dir(@site_name) if File.exist? @site_name
|
20
22
|
end
|
21
23
|
|
24
|
+
it "can build the default site (main)" do
|
25
|
+
MrHyde::Site.build
|
26
|
+
File.exist?(@defaults['destination']).must_be :==, true
|
27
|
+
end
|
28
|
+
|
22
29
|
it "can build a single site" do
|
23
30
|
MrHyde::Site.create @nested_site_name
|
24
31
|
MrHyde::Site.build @nested_site_name
|
@@ -35,14 +42,24 @@ describe "Checking if MrHyde can build sites" do
|
|
35
42
|
end
|
36
43
|
end
|
37
44
|
|
38
|
-
it "can build all sites
|
45
|
+
it "can build all nested sites with --all option" do
|
39
46
|
site_names = []
|
40
47
|
5.times { |i| site_names << "#{@nested_site_name}_#{i}" }
|
41
48
|
MrHyde::Site.create site_names
|
42
|
-
MrHyde::Site.build [], { 'all' =>
|
49
|
+
MrHyde::Site.build [], { 'all' => true }
|
43
50
|
site_names.each do |sn|
|
44
51
|
File.exist?(File.join @defaults['destination'], sn).must_be :==, true
|
45
52
|
end
|
46
53
|
end
|
47
54
|
|
55
|
+
describe "building posts" do
|
56
|
+
it "all sites build a post within mrhyde or jekyll dir" do
|
57
|
+
MrHyde::Site.build nil, {'all' => true}
|
58
|
+
MrHyde::Site.built_list.each do |ns|
|
59
|
+
(File.exist?(File.join @defaults['destination'], ns, 'mrhyde') ||
|
60
|
+
File.exist?(File.join @defaults['destination'], ns, 'jekyll')).must_be :==, true
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
48
65
|
end
|
data/spec/list_spec.rb
CHANGED
data/spec/new_spec.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require "minitest/autorun"
|
2
|
-
require "minitest/
|
2
|
+
require "minitest/reporters"
|
3
3
|
require "fileutils"
|
4
4
|
require_relative "../lib/mr_hyde"
|
5
5
|
require_relative "../lib/mr_hyde/site"
|
@@ -21,30 +21,30 @@ describe "Checking if mrhyde can create new sites" do
|
|
21
21
|
MrHyde.create @site_name
|
22
22
|
|
23
23
|
File.exist?(@site_name).must_be :==, true
|
24
|
-
File.exist?(File.join @site_name
|
24
|
+
File.exist?(File.join @site_name).must_be :==, true
|
25
25
|
File.exist?(File.join @site_name, @defaults['config']).must_be :==, true
|
26
26
|
File.exist?(File.join @site_name, @defaults['jekyll_config']).must_be :==, true
|
27
|
-
File.exist?(File.join @site_name, @defaults['
|
28
|
-
File.exist?(File.join @site_name, @defaults['
|
29
|
-
File.exist?(File.join @site_name, @defaults['
|
30
|
-
File.exist?(File.join @site_name, @defaults['
|
31
|
-
File.exist?(File.join @site_name, @defaults['
|
32
|
-
File.exist?(File.join @site_name, @defaults['
|
27
|
+
File.exist?(File.join @site_name, @defaults['layouts_dir']).must_be :==, true
|
28
|
+
File.exist?(File.join @site_name, @defaults['includes_dir']).must_be :==, true
|
29
|
+
File.exist?(File.join @site_name, @defaults['assets']).must_be :==, true
|
30
|
+
File.exist?(File.join @site_name, @defaults['mainsite']).must_be :==, true
|
31
|
+
File.exist?(File.join @site_name, @defaults['sources_sites']).must_be :==, true
|
32
|
+
File.exist?(File.join @site_name, @defaults['mainsite'], 'index.md').must_be :==, true
|
33
33
|
end
|
34
34
|
|
35
35
|
it "creates a new MrHyde blank folder" do
|
36
36
|
MrHyde.create @site_name, 'blank' => true
|
37
37
|
|
38
38
|
File.exist?(@site_name).must_be :==, true
|
39
|
-
File.exist?(File.join @site_name
|
39
|
+
File.exist?(File.join @site_name).must_be :==, true
|
40
40
|
File.exist?(File.join @site_name, @defaults['config']).must_be :==, false
|
41
41
|
File.exist?(File.join @site_name, @defaults['jekyll_config']).must_be :==, false
|
42
|
-
File.exist?(File.join @site_name, @defaults['
|
43
|
-
File.exist?(File.join @site_name, @defaults['
|
44
|
-
File.exist?(File.join @site_name, @defaults['
|
45
|
-
File.exist?(File.join @site_name, @defaults['
|
46
|
-
File.exist?(File.join @site_name, @defaults['
|
47
|
-
File.exist?(File.join @site_name, @defaults['
|
42
|
+
File.exist?(File.join @site_name, @defaults['layouts_dir']).must_be :==, true
|
43
|
+
File.exist?(File.join @site_name, @defaults['includes_dir']).must_be :==, true
|
44
|
+
File.exist?(File.join @site_name, @defaults['assets']).must_be :==, false
|
45
|
+
File.exist?(File.join @site_name, @defaults['mainsite']).must_be :==, true
|
46
|
+
File.exist?(File.join @site_name, @defaults['sources_sites']).must_be :==, false
|
47
|
+
File.exist?(File.join @site_name, @defaults['mainsite'], 'index.html').must_be :==, true
|
48
48
|
end
|
49
49
|
|
50
50
|
it "cannot create over an existing folder" do
|
@@ -57,6 +57,14 @@ describe "Checking if mrhyde can create new sites" do
|
|
57
57
|
lambda { MrHyde.create(@site_name, 'force' => true)}.must_be_silent
|
58
58
|
end
|
59
59
|
|
60
|
+
describe "sample files" do
|
61
|
+
it "are generated" do
|
62
|
+
MrHyde.create @site_name
|
63
|
+
File.exist?(File.join @site_name, @defaults['sources_sites'], 'sample-site').must_be :==, true
|
64
|
+
File.exist?(File.join @site_name, @defaults['sources_sites'], 'sample-full-site').must_be :==, true
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
60
68
|
describe "nested sites" do
|
61
69
|
before do
|
62
70
|
MrHyde.create @site_name
|
@@ -65,7 +73,7 @@ describe "Checking if mrhyde can create new sites" do
|
|
65
73
|
it "can create a single site" do
|
66
74
|
Dir.chdir(@site_name) do
|
67
75
|
MrHyde::Site.create @nested_site_name
|
68
|
-
File.exist?(File.join @defaults['
|
76
|
+
File.exist?(File.join @defaults['sources_sites'], @nested_site_name).must_be :==, true
|
69
77
|
end
|
70
78
|
end
|
71
79
|
|
@@ -75,7 +83,7 @@ describe "Checking if mrhyde can create new sites" do
|
|
75
83
|
10.times { |i| arr_blog_names << "#{@nested_site_name}_#{i}" }
|
76
84
|
MrHyde::Site.create arr_blog_names
|
77
85
|
arr_blog_names.each do |bn|
|
78
|
-
File.exist?(File.join @defaults['
|
86
|
+
File.exist?(File.join @defaults['sources_sites'], bn).must_be :==, true
|
79
87
|
end
|
80
88
|
end
|
81
89
|
end
|
data/spec/rm_spec.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
require "minitest/autorun"
|
2
|
-
require "minitest/pride"
|
3
2
|
require "fileutils"
|
4
3
|
require_relative "../lib/mr_hyde"
|
5
4
|
require_relative "../lib/mr_hyde/site"
|
6
5
|
|
7
|
-
describe "
|
6
|
+
describe "Checking is Mr. Hyde remove command" do
|
8
7
|
before do
|
9
8
|
@tmp_dir = Dir.mktmpdir('mrhyde_new_test')
|
10
9
|
@site_name = 'test'
|
@@ -32,7 +31,7 @@ describe "MrHyde" do
|
|
32
31
|
|
33
32
|
def remove_site(site, opts = {})
|
34
33
|
create_build_remove site, opts
|
35
|
-
File.exist?(File.join @defaults['
|
34
|
+
File.exist?(File.join @defaults['sources_sites'], site).must_be :==, (opts['full'] ? false : true)
|
36
35
|
File.exist?(File.join @defaults['destination'], site).must_be :==, false
|
37
36
|
end
|
38
37
|
|
@@ -42,7 +41,7 @@ describe "MrHyde" do
|
|
42
41
|
|
43
42
|
create_build_remove site_names, opts
|
44
43
|
site_names.each do |sn|
|
45
|
-
File.exist?(File.join @defaults['
|
44
|
+
File.exist?(File.join @defaults['sources_sites'], sn).must_be :==, (opts['full'] ? false : true)
|
46
45
|
File.exist?(File.join @defaults['destination'], sn).must_be :==, false
|
47
46
|
end
|
48
47
|
end
|
@@ -56,19 +55,19 @@ describe "MrHyde" do
|
|
56
55
|
remove_sites @nested_site_name, 5
|
57
56
|
end
|
58
57
|
|
59
|
-
it "can remove all built sites" do
|
60
|
-
remove_sites @nested_site_name, 5, { 'all' =>
|
58
|
+
it "can remove all built sites with option --all" do
|
59
|
+
remove_sites @nested_site_name, 5, { 'all' => true }
|
61
60
|
end
|
62
61
|
|
63
|
-
it "can remove a site completely" do
|
64
|
-
remove_site @nested_site_name, { 'full' =>
|
62
|
+
it "can remove a site completely with option --full" do
|
63
|
+
remove_site @nested_site_name, { 'full' => true }
|
65
64
|
end
|
66
65
|
|
67
|
-
it "can remove a list of sites completely" do
|
68
|
-
remove_sites @nested_site_name, 5, { 'full' =>
|
66
|
+
it "can remove a list of sites completely with option --full" do
|
67
|
+
remove_sites @nested_site_name, 5, { 'full' => true }
|
69
68
|
end
|
70
69
|
|
71
|
-
it "can remove all sites completely" do
|
72
|
-
remove_sites @nested_site_name, 5, { 'all' =>
|
70
|
+
it "can remove all sites completely (--all and --full)" do
|
71
|
+
remove_sites @nested_site_name, 5, { 'all' => true, 'full' => true }
|
73
72
|
end
|
74
73
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require "minitest/autorun"
|
2
|
+
require "minitest/reporters"
|
3
|
+
require "jekyll"
|
4
|
+
require_relative "../lib/mr_hyde"
|
5
|
+
|
6
|
+
Minitest::Reporters.use!
|
7
|
+
|
8
|
+
class TestConfiguration < Minitest::Test
|
9
|
+
def setup
|
10
|
+
@jekyll_config = Jekyll::Configuration::DEFAULTS
|
11
|
+
@mrhyde_config = MrHyde::Configuration::JEKYLL_DEFAULTS
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_that_if_configuration_defaults_ids_match
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mr_hyde
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Enrique Arias Cervero
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,40 +44,108 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '5.
|
47
|
+
version: '5.8'
|
48
48
|
- - ">="
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 5.4
|
50
|
+
version: 5.8.4
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - "~>"
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: '5.
|
57
|
+
version: '5.8'
|
58
58
|
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: 5.4
|
60
|
+
version: 5.8.4
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: minitest-reporters
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.1'
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.1.7
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '1.1'
|
78
|
+
- - ">="
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: 1.1.7
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: pry
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: byebug
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 8.2.2
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 8.2.2
|
61
109
|
- !ruby/object:Gem::Dependency
|
62
110
|
name: jekyll
|
63
111
|
requirement: !ruby/object:Gem::Requirement
|
64
112
|
requirements:
|
65
113
|
- - "~>"
|
66
114
|
- !ruby/object:Gem::Version
|
67
|
-
version: '
|
68
|
-
- -
|
115
|
+
version: '3.1'
|
116
|
+
- - ">="
|
69
117
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
118
|
+
version: 3.1.1
|
71
119
|
type: :runtime
|
72
120
|
prerelease: false
|
73
121
|
version_requirements: !ruby/object:Gem::Requirement
|
74
122
|
requirements:
|
75
123
|
- - "~>"
|
76
124
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
78
|
-
- -
|
125
|
+
version: '3.1'
|
126
|
+
- - ">="
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
version: 3.1.1
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: mercenary
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - "~>"
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: '0.3'
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.3.5
|
139
|
+
type: :runtime
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0.3'
|
146
|
+
- - ">="
|
79
147
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
148
|
+
version: 0.3.5
|
81
149
|
description: Mr. Hyde lets you generate and manage as many sites as you want, something
|
82
150
|
similar like Medium. It's based on Jekyll.
|
83
151
|
email:
|
@@ -109,26 +177,25 @@ files:
|
|
109
177
|
- lib/mr_hyde/jekyll_ext/tags/include.rb
|
110
178
|
- lib/mr_hyde/site.rb
|
111
179
|
- lib/mr_hyde/version.rb
|
180
|
+
- lib/site_template/_assets/_sass/_base.scss
|
181
|
+
- lib/site_template/_assets/_sass/_functions.scss
|
182
|
+
- lib/site_template/_assets/_sass/_grid.scss
|
183
|
+
- lib/site_template/_assets/_sass/_layout.scss
|
184
|
+
- lib/site_template/_assets/_sass/_newbase.scss
|
185
|
+
- lib/site_template/_assets/_sass/_normalize.scss
|
186
|
+
- lib/site_template/_assets/_sass/_syntax-highlighting.scss
|
112
187
|
- lib/site_template/_config.yml
|
188
|
+
- lib/site_template/_includes/footer.html
|
189
|
+
- lib/site_template/_includes/head.html
|
190
|
+
- lib/site_template/_includes/header.html
|
191
|
+
- lib/site_template/_layouts/default.html
|
192
|
+
- lib/site_template/_layouts/page.html
|
193
|
+
- lib/site_template/_layouts/post.html
|
113
194
|
- lib/site_template/_mrhyde.yml
|
114
|
-
- lib/site_template/
|
115
|
-
- lib/site_template/
|
116
|
-
- lib/site_template/
|
117
|
-
- lib/site_template/
|
118
|
-
- lib/site_template/sources/_assets/_sass/_newbase.scss
|
119
|
-
- lib/site_template/sources/_assets/_sass/_normalize.scss
|
120
|
-
- lib/site_template/sources/_assets/_sass/_syntax-highlighting.scss
|
121
|
-
- lib/site_template/sources/_includes/footer.html
|
122
|
-
- lib/site_template/sources/_includes/head.html
|
123
|
-
- lib/site_template/sources/_includes/header.html
|
124
|
-
- lib/site_template/sources/_layouts/default.html
|
125
|
-
- lib/site_template/sources/_layouts/page.html
|
126
|
-
- lib/site_template/sources/_layouts/post.html
|
127
|
-
- lib/site_template/sources/main_site/about.md
|
128
|
-
- lib/site_template/sources/main_site/css/main.scss
|
129
|
-
- lib/site_template/sources/main_site/css/normalize.css
|
130
|
-
- lib/site_template/sources/main_site/index.md
|
131
|
-
- lib/site_template/sources/main_site/js/main.coffee
|
195
|
+
- lib/site_template/_site/about.md
|
196
|
+
- lib/site_template/_site/css/main.scss
|
197
|
+
- lib/site_template/_site/css/normalize.css
|
198
|
+
- lib/site_template/_site/index.md
|
132
199
|
- lib/subsite_template/_config.yml
|
133
200
|
- lib/subsite_template/_posts/0000-00-00-welcome-to-mr-hyde.markdown.erb
|
134
201
|
- lib/subsite_template/about.md
|
@@ -142,7 +209,8 @@ files:
|
|
142
209
|
- spec/list_spec.rb
|
143
210
|
- spec/new_spec.rb
|
144
211
|
- spec/rm_spec.rb
|
145
|
-
|
212
|
+
- test/configuraton_test.rb
|
213
|
+
homepage: https://github.com/emoriarty/mr_hyde
|
146
214
|
licenses:
|
147
215
|
- MIT
|
148
216
|
metadata: {}
|
@@ -162,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
230
|
version: '0'
|
163
231
|
requirements: []
|
164
232
|
rubyforge_project:
|
165
|
-
rubygems_version: 2.
|
233
|
+
rubygems_version: 2.5.2
|
166
234
|
signing_key:
|
167
235
|
specification_version: 4
|
168
236
|
summary: Mr. Hyde lets you generate and manage as many sites as you want.
|
@@ -171,3 +239,4 @@ test_files:
|
|
171
239
|
- spec/list_spec.rb
|
172
240
|
- spec/new_spec.rb
|
173
241
|
- spec/rm_spec.rb
|
242
|
+
- test/configuraton_test.rb
|
@@ -1,9 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: page
|
3
|
-
title: About
|
4
|
-
permalink: /about/
|
5
|
-
id: about
|
6
|
-
---
|
7
|
-
|
8
|
-
This is the base Mr. Hyde theme. You can customize it modifying the styles assets include in `sources/_assets/_sass` or just include you css files in the sites folder of your Mr. Hyde project and reference them in your html header.
|
9
|
-
|
@@ -1,27 +0,0 @@
|
|
1
|
-
---
|
2
|
-
---
|
3
|
-
setCurrentPage = ->
|
4
|
-
pathname = document.location.pathname
|
5
|
-
currentLink = undefined
|
6
|
-
baseurl = document.querySelector('[data-baseurl]').getAttribute('data-baseurl')
|
7
|
-
cleanBaseUrl = pathname.replace(baseurl, '')
|
8
|
-
if cleanBaseUrl == '/'
|
9
|
-
currentLink = document.getElementById('home')
|
10
|
-
else
|
11
|
-
navLinks = document.querySelectorAll('.main-navigation ul li')
|
12
|
-
i = 0
|
13
|
-
while i < navLinks.length
|
14
|
-
navLink = navLinks[i]
|
15
|
-
regexp = new RegExp('/' + navLink.id + '/')
|
16
|
-
matchResult = cleanBaseUrl.match(regexp)
|
17
|
-
if matchResult and matchResult.length > 0
|
18
|
-
currentLink = navLink
|
19
|
-
i++
|
20
|
-
currentLink.classList.add 'current-menu-item'
|
21
|
-
return
|
22
|
-
|
23
|
-
init = ->
|
24
|
-
setCurrentPage()
|
25
|
-
return
|
26
|
-
|
27
|
-
window.addEventListener 'DOMContentLoaded', init
|