m2m 0.2.3 → 0.2.7
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/Gemfile +1 -1
- data/Gemfile.lock +1 -1
- data/bin/console +1 -0
- data/bin/setup +10 -0
- data/exe/m2m +1 -0
- data/exe/mailer.rb +2 -0
- data/exe/server.rb +2 -0
- data/exe/setup.rb +2 -0
- data/exe/site.rb +2 -0
- data/lib/article.rb +3 -1
- data/lib/compiler.rb +14 -14
- data/lib/generator.rb +3 -0
- data/lib/mailer.rb +2 -0
- data/lib/meta.rb +2 -0
- data/lib/product.rb +3 -1
- data/lib/scan.rb +1 -0
- data/lib/server.rb +2 -0
- data/lib/setup.rb +18 -1
- data/lib/store.rb +18 -0
- data/lib/toc.rb +2 -0
- data/lib/util.rb +13 -1
- data/m2m.gemspec +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f65d9e01f4b4e4f27d439dc9a6fb6a91e686294
|
4
|
+
data.tar.gz: 57c9b168be1279c46f76e6c8499eae7c09cfac9c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34362e8196765e446f563e9d0006f675b7efdab8567af7719f58e35ff067ce28d52e6b3221ca72b1bf100960045b6089926a9e7569a61d3ddf104fb80d6ba236
|
7
|
+
data.tar.gz: d500be9c8c50dc9cd9970cf114bf1ab0dba7741ab6680a4ffd104bc14a1fdddae832aad6bab7f9dfeb4757c5e0474689253fbc2028f85b86571527a2e6503a7c
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/bin/console
CHANGED
data/bin/setup
ADDED
data/exe/m2m
CHANGED
data/exe/mailer.rb
CHANGED
data/exe/server.rb
CHANGED
data/exe/setup.rb
CHANGED
data/exe/site.rb
CHANGED
data/lib/article.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
#读取文件内容
|
2
4
|
require 'nokogiri'
|
3
5
|
require 'kramdown'
|
@@ -30,7 +32,7 @@ class Article
|
|
30
32
|
result['mtime'] = File::ctime file
|
31
33
|
|
32
34
|
#读取原始内容
|
33
|
-
original =
|
35
|
+
original = @util.read_file file
|
34
36
|
result['original'] = original
|
35
37
|
|
36
38
|
#相对路径
|
data/lib/compiler.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
#使用模板转换为HTML
|
2
4
|
|
3
5
|
require 'mustache'
|
@@ -15,6 +17,7 @@ class Compiler
|
|
15
17
|
#当前的工作目录
|
16
18
|
@workbench = @util.workbench
|
17
19
|
@theme_dir = self.get_theme_dir
|
20
|
+
|
18
21
|
@template_dir = File::join(@theme_dir, 'template')
|
19
22
|
Mustache.template_path = File::join(@template_dir, 'partials')
|
20
23
|
|
@@ -34,30 +37,27 @@ class Compiler
|
|
34
37
|
dir
|
35
38
|
end
|
36
39
|
|
40
|
+
|
37
41
|
#根据配置获取theme, 如果没有, 则使用默认的theme
|
38
42
|
def get_theme_dir()
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
return
|
43
|
-
|
44
|
-
base_dir = File::join(Pathname.new(File.dirname(__FILE__)), 'themes')
|
43
|
+
#获取用户配置的theme
|
44
|
+
theme_dir = @setup.get_theme
|
45
|
+
#如果这个目录存在,则使用用户设置的主题
|
46
|
+
return theme_dir if theme_dir and File::exists?(theme_dir)
|
45
47
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
theme_dir = File::join(base_dir, theme_name)
|
48
|
+
#没有找到配置,则考虑默认的theme目录
|
49
|
+
theme_dir = File::join(@workbench, @util.local_theme_dir)
|
50
|
+
return theme_dir if(File::exists?(theme_dir))
|
50
51
|
|
51
|
-
|
52
|
-
|
53
|
-
File::join(base_dir, 'hyde')
|
52
|
+
#还是没有找到,则使用系统自带主题
|
53
|
+
File::join(@util.themes_dir, 'hyde')
|
54
54
|
end
|
55
55
|
|
56
56
|
|
57
57
|
#读取模板
|
58
58
|
def read_template(name)
|
59
59
|
file = File::join(@template_dir, name + '.mustache')
|
60
|
-
|
60
|
+
@util.read_file file
|
61
61
|
end
|
62
62
|
|
63
63
|
#执行生成,
|
data/lib/generator.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
#生成全站
|
2
4
|
require 'fileutils'
|
3
5
|
|
@@ -138,6 +140,7 @@ class Generator
|
|
138
140
|
|
139
141
|
#编译模板
|
140
142
|
def compiler(filename, template_name, data)
|
143
|
+
data['tree'] = @store.tree
|
141
144
|
data['product'] = @util.get_product
|
142
145
|
data['root/relative_path'] = @util.get_relative_dot(filename)
|
143
146
|
|
data/lib/mailer.rb
CHANGED
data/lib/meta.rb
CHANGED
data/lib/product.rb
CHANGED
data/lib/scan.rb
CHANGED
data/lib/server.rb
CHANGED
data/lib/setup.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
require 'yaml'
|
2
4
|
require 'singleton'
|
3
5
|
require_relative './util'
|
@@ -71,13 +73,28 @@ class Setup
|
|
71
73
|
File::join root, @util.config_file
|
72
74
|
end
|
73
75
|
|
76
|
+
#获取用户的theme, 如果没有找到,返回null
|
77
|
+
def get_theme
|
78
|
+
#根据用户配置获取theme
|
79
|
+
theme_name = self.get_merged_config['theme']
|
80
|
+
#用户没有配置自己的theme
|
81
|
+
return if not theme_name
|
82
|
+
|
83
|
+
#如果是相对路径, 则认为用户是配置在当前的目录下
|
84
|
+
if theme_name.index('./') === 0
|
85
|
+
return File::join(@util.workbench, theme_name)
|
86
|
+
else
|
87
|
+
return File::join(@util.themes_dir, theme_name)
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
74
91
|
#读取配置文件
|
75
92
|
def read(is_global)
|
76
93
|
file = self.get_config_file is_global
|
77
94
|
return {} if not File::exists? file
|
78
95
|
|
79
96
|
#读取配置文件
|
80
|
-
YAML.load
|
97
|
+
YAML.load @util.read_file(file)
|
81
98
|
end
|
82
99
|
|
83
100
|
#写入配置文件
|
data/lib/store.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
#缓存数据, 并建立索引
|
2
4
|
|
3
5
|
require_relative './article'
|
@@ -13,6 +15,10 @@ class Store
|
|
13
15
|
@article = Article.new
|
14
16
|
|
15
17
|
@data = {
|
18
|
+
#首页
|
19
|
+
'home' => nil,
|
20
|
+
#完整的分类
|
21
|
+
'categories' => Array.new,
|
16
22
|
#所有文章列表
|
17
23
|
'articles' => self.get_articles(files),
|
18
24
|
#目录树
|
@@ -22,9 +28,16 @@ class Store
|
|
22
28
|
}
|
23
29
|
|
24
30
|
self.make_tree_index
|
31
|
+
self.make_categories
|
25
32
|
self.sort @data['tree']
|
26
33
|
end
|
27
34
|
|
35
|
+
#获取所有的分类
|
36
|
+
def categories
|
37
|
+
@data['categories']
|
38
|
+
end
|
39
|
+
|
40
|
+
#获取
|
28
41
|
def tree
|
29
42
|
@data['tree']
|
30
43
|
end
|
@@ -56,6 +69,11 @@ class Store
|
|
56
69
|
result
|
57
70
|
end
|
58
71
|
|
72
|
+
#生成分类的列表
|
73
|
+
def make_categories
|
74
|
+
|
75
|
+
end
|
76
|
+
|
59
77
|
#创建树状结构的索引
|
60
78
|
def make_tree_index
|
61
79
|
this = self
|
data/lib/toc.rb
CHANGED
data/lib/util.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
1
3
|
require 'yaml'
|
2
4
|
require 'fileutils'
|
3
5
|
require 'singleton'
|
@@ -46,6 +48,10 @@ class Util
|
|
46
48
|
@project_name = File::basename dir
|
47
49
|
end
|
48
50
|
|
51
|
+
#获取m2m自带theme的目录
|
52
|
+
def themes_dir
|
53
|
+
File::join(Pathname.new(File.dirname(__FILE__)), 'themes')
|
54
|
+
end
|
49
55
|
#################### 获取 ####################
|
50
56
|
#临时目录
|
51
57
|
def get_temp_dir
|
@@ -84,9 +90,15 @@ class Util
|
|
84
90
|
# puts dir
|
85
91
|
FileUtils.mkpath(dir) if not File::exists?(dir)
|
86
92
|
#写入文件
|
87
|
-
IO.write(file, content)
|
93
|
+
IO.write(file, content, :encoding => 'utf-8')
|
94
|
+
end
|
95
|
+
|
96
|
+
#读取文件
|
97
|
+
def read_file(file)
|
98
|
+
IO.read file, :encoding => 'utf-8'
|
88
99
|
end
|
89
100
|
|
101
|
+
#错误
|
90
102
|
def error(log, level = 1)
|
91
103
|
puts log
|
92
104
|
exit level
|
data/m2m.gemspec
CHANGED
@@ -33,7 +33,7 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_runtime_dependency('commander', '4.4.0')
|
34
34
|
spec.add_runtime_dependency('nokogiri', '1.6.7')
|
35
35
|
spec.add_runtime_dependency('mustache', '1.0.3')
|
36
|
-
spec.add_runtime_dependency('kramdown', '1.
|
36
|
+
spec.add_runtime_dependency('kramdown', '1.11.1')
|
37
37
|
spec.add_runtime_dependency('mail', '2.6.4')
|
38
38
|
spec.add_runtime_dependency('aescrypt', '1.0.0')
|
39
39
|
spec.add_runtime_dependency('webrick', '1.3.1')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: m2m
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wvv8oo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-06-
|
11
|
+
date: 2016-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - '='
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.11.1
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - '='
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: 1.11.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: mail
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- LICENSE
|
165
165
|
- README.md
|
166
166
|
- bin/console
|
167
|
+
- bin/setup
|
167
168
|
- exe/m2m
|
168
169
|
- exe/mailer.rb
|
169
170
|
- exe/server.rb
|