m2m 0.2.3 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 69a24996646f9645047c44bc9b5d41f0f2f12c40
4
- data.tar.gz: d2388c806f291018378489f50cedd44603292d4b
3
+ metadata.gz: 0f65d9e01f4b4e4f27d439dc9a6fb6a91e686294
4
+ data.tar.gz: 57c9b168be1279c46f76e6c8499eae7c09cfac9c
5
5
  SHA512:
6
- metadata.gz: 33a76f74dfacc08b9ff0ca24dd71d5d29e14d7d6f9014dec4bcf8546f8fef4fbf46da5246046649183a2b8eb2ac284fa91249102858f42216c7942efda56fc8e
7
- data.tar.gz: 89dc20aab0c1092b710b6ea314b581a9ec66c66b7569aa2b9e2fa6262f9b8998666a5360a08b2d654a4cdf85c4aa558b6ad6ef36925b8f1f6e000f795b26b631
6
+ metadata.gz: 34362e8196765e446f563e9d0006f675b7efdab8567af7719f58e35ff067ce28d52e6b3221ca72b1bf100960045b6089926a9e7569a61d3ddf104fb80d6ba236
7
+ data.tar.gz: d500be9c8c50dc9cd9970cf114bf1ab0dba7741ab6680a4ffd104bc14a1fdddae832aad6bab7f9dfeb4757c5e0474689253fbc2028f85b86571527a2e6503a7c
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  gem 'nokogiri', '1.6.7'
2
2
  gem 'mustache', '1.0.3'
3
- gem 'kramdown', '1.10.0'
3
+ gem 'kramdown', '1.11.1'
4
4
  gem 'commander', '4.4.0'
5
5
  gem 'mail', '2.6.4'
6
6
  gem 'webrick', '1.3.1'
data/Gemfile.lock CHANGED
@@ -15,7 +15,7 @@ PLATFORMS
15
15
 
16
16
  DEPENDENCIES
17
17
  commander (= 4.4.0)
18
- kramdown (= 1.10.0)
18
+ kramdown (= 1.11.1)
19
19
  mustache (= 1.0.3)
20
20
  nokogiri (= 1.6.7)
21
21
 
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
2
3
 
3
4
  require "bundler/setup"
4
5
  require "m2m"
data/bin/setup ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bash
2
+ # -*- coding: utf-8 -*-
3
+
4
+ set -euo pipefail
5
+ IFS=$'\n\t'
6
+ set -vx
7
+
8
+ bundle install
9
+
10
+ # Do any other automated setup that you need to do here
data/exe/m2m CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # -*- coding: utf-8 -*-
2
3
 
3
4
  require 'rubygems'
4
5
  require 'commander'
data/exe/mailer.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require 'commander'
2
4
  require_relative '../lib/mailer'
3
5
 
data/exe/server.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require 'commander'
2
4
  require_relative '../lib/generator'
3
5
  require_relative '../lib/setup'
data/exe/setup.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require 'commander'
2
4
  require_relative '../lib/setup'
3
5
  require_relative '../lib/util'
data/exe/site.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require 'commander'
2
4
  require_relative '../lib/generator'
3
5
  require_relative '../lib/setup'
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 = IO.read(file)
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
- #先从当前工作目录下查找theme目录
40
- dir = File::join(@workbench, @util.local_theme_dir)
41
- #当前有theme目录
42
- return dir if(File::exists?(dir))
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
- #根据用户配置获取theme
48
- theme_name = @setup.get_merged_config['theme'] || 'hyde'
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
- #如果没有找到对应的theme, 则
52
- return theme_dir if(File.exists?(theme_dir))
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
- IO.read(file)
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
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  #将markdown发送为邮件
2
4
  require 'mail'
3
5
  require_relative './scan'
data/lib/meta.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  #分析meta值
2
4
  # http://pythonhosted.org/Markdown/extensions/meta_data.html
3
5
 
data/lib/product.rb CHANGED
@@ -1,5 +1,7 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  module M2M
2
- VERSION = "0.2.3"
4
+ VERSION = "0.2.7"
3
5
  NAME = "m2m"
4
6
  REPOS = "https://github.com/wvv8oo/m2m"
5
7
  HOMEPAGE = "http://m2m.wvv8oo.com/"
data/lib/scan.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
 
2
3
  require 'pathname'
3
4
  require_relative './util'
data/lib/server.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require 'webrick'
2
4
  require_relative './util'
3
5
  require_relative './setup'
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 IO.read(file)
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
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  #读取文件内容
2
4
 
3
5
  require 'kramdown'
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.10.0')
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.3
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-13 00:00:00.000000000 Z
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.10.0
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.10.0
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