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 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