Charu 0.0.2 → 0.0.3
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/Charu.gemspec +1 -1
- data/README.md +16 -2
- data/lib/Charu/ChangeLogMemo.rb +50 -12
- data/lib/Charu/Config.rb +44 -0
- data/lib/Charu/CreateHtml.rb +9 -0
- data/lib/Charu/template/all_body.erb +8 -0
- data/lib/Charu/template/body.erb +16 -0
- data/lib/Charu/template/day_body.erb +13 -0
- data/lib/Charu/template/footer.erb +5 -0
- data/lib/Charu/template/header.erb +37 -0
- data/lib/Charu/version.rb +1 -1
- data/lib/Charu.rb +11 -1
- metadata +10 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd3b10bd5b14fc8d07251aa1c39c988c41c19ce3e104da8bc567dbf7b791e6e5
|
4
|
+
data.tar.gz: 20e201450b68bac57228f71325d6df46c25218605604b56212e62fcc8c5e309a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a955ab808c8d89ff70d1c4231e6b740aebc462e5fdd92c7014b73f42108054705f404f94deed37a24180920218d0bc9363f8cc7da5e5aa447431d8a1db293741
|
7
|
+
data.tar.gz: c0fb50d689a04afabcd24cd90c70b3f14a4a6f28873d10550cc829b26f7c8666bdbac4c65b14ef70170fe670da82cca0f953682e481a8352de4acdc5a7726734
|
data/.gitignore
CHANGED
data/Charu.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
|
12
12
|
spec.summary = %q{ChangeLogMemo Html Converter Liblary}
|
13
13
|
spec.description = %q{ChangeLogMemo Html Liblary}
|
14
|
-
spec.homepage = "https://rubygems.org/"
|
14
|
+
spec.homepage = "https://rubygems.org/gems/Charu"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
17
17
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
data/README.md
CHANGED
@@ -22,12 +22,26 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
|
26
|
-
|
25
|
+
初期化
|
27
26
|
```
|
28
27
|
changelogmemo = Charu::ChangeLogMemo.new(file_path)
|
29
28
|
```
|
30
29
|
|
30
|
+
アイテム取得
|
31
|
+
```
|
32
|
+
changelogmemo.get_item_sort
|
33
|
+
```
|
34
|
+
|
35
|
+
アイテム取得逆順
|
36
|
+
```
|
37
|
+
changelogmemo.get_item_sort_reverse()
|
38
|
+
```
|
39
|
+
|
40
|
+
カテゴリー取得
|
41
|
+
```
|
42
|
+
changelogmemo.get_category_list
|
43
|
+
```
|
44
|
+
|
31
45
|
## Development
|
32
46
|
|
33
47
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/Charu/ChangeLogMemo.rb
CHANGED
@@ -1,8 +1,34 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
|
3
3
|
module Charu
|
4
|
+
class Cotegory
|
5
|
+
def initialize(title)
|
6
|
+
if title == nil then
|
7
|
+
title = ""
|
8
|
+
end
|
9
|
+
@category = []
|
10
|
+
title.scan(/\[(.*?)\]:/).each{|i|
|
11
|
+
self.add(i)
|
12
|
+
}
|
13
|
+
end
|
14
|
+
|
15
|
+
def add(category)
|
16
|
+
if category == nil then
|
17
|
+
category = []
|
18
|
+
end
|
19
|
+
category.each{|i|
|
20
|
+
@category << i
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_category_list()
|
25
|
+
@category.uniq! # 重複削除
|
26
|
+
return @category
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
4
30
|
class Item
|
5
|
-
attr_accessor :datetime, :
|
31
|
+
attr_accessor :datetime, :item_title_source, :item_log, :cotegory
|
6
32
|
def initialize(time)
|
7
33
|
if time == nil then
|
8
34
|
p "アイテム初期化失敗"
|
@@ -12,19 +38,18 @@ module Charu
|
|
12
38
|
|
13
39
|
@datetime = time
|
14
40
|
|
15
|
-
@
|
41
|
+
@item_title_source = title
|
16
42
|
@item_log = ""
|
17
43
|
|
18
|
-
@cotegory = []
|
19
44
|
# カテゴリー
|
20
45
|
end
|
21
46
|
|
22
47
|
def get_item_title()
|
23
|
-
if @
|
24
|
-
@
|
25
|
-
|
48
|
+
if @item_title_source != nil then
|
49
|
+
i = @item_title_source.gsub(/\*\s/, "") # タイトルから[*]削除
|
50
|
+
i = i.gsub(/\[(.*?)\]:/, "") # タイトルからカテゴリ削除
|
26
51
|
|
27
|
-
return
|
52
|
+
return i
|
28
53
|
end
|
29
54
|
return ""
|
30
55
|
end
|
@@ -47,10 +72,11 @@ module Charu
|
|
47
72
|
end
|
48
73
|
|
49
74
|
def get_item_category()
|
75
|
+
@cotegory = Cotegory.new(@item_title_source)
|
50
76
|
if @cotegory == nil then
|
51
77
|
return []
|
52
78
|
end
|
53
|
-
return @cotegory
|
79
|
+
return @cotegory.get_category_list()
|
54
80
|
end
|
55
81
|
end
|
56
82
|
|
@@ -79,7 +105,7 @@ module Charu
|
|
79
105
|
if line.match(/^\*\s.*?/) != nil or line.match(/^\t\*\s.*?/) != nil then
|
80
106
|
item = Item.new(@item_source_day)
|
81
107
|
@items << item
|
82
|
-
item.
|
108
|
+
item.item_title_source = line
|
83
109
|
else
|
84
110
|
if line == nil then
|
85
111
|
line = ""
|
@@ -209,9 +235,9 @@ module Charu
|
|
209
235
|
end
|
210
236
|
|
211
237
|
def get_item_sort()
|
238
|
+
i = []
|
212
239
|
@change_log_private.entrys.each{|date|
|
213
240
|
date.get_items().each{|item|
|
214
|
-
i = []
|
215
241
|
i << item
|
216
242
|
|
217
243
|
i.sort!{|a, b| a.datetime <=> b.datetime }
|
@@ -220,11 +246,10 @@ module Charu
|
|
220
246
|
return i
|
221
247
|
end
|
222
248
|
|
223
|
-
|
224
249
|
def get_item_sort_reverse()
|
250
|
+
i = []
|
225
251
|
@change_log_private.entrys.each{|date|
|
226
252
|
date.get_items().each{|item|
|
227
|
-
i = []
|
228
253
|
i << item
|
229
254
|
|
230
255
|
i.sort!{|a, b| b.datetime <=> a.datetime }
|
@@ -232,6 +257,19 @@ module Charu
|
|
232
257
|
}
|
233
258
|
return i
|
234
259
|
end
|
260
|
+
|
261
|
+
def get_category_list()
|
262
|
+
category_list = []
|
263
|
+
@change_log_private.entrys.each{|date|
|
264
|
+
date.get_items().each{|item|
|
265
|
+
item.get_item_category().each{|category|
|
266
|
+
category_list << category
|
267
|
+
}
|
268
|
+
}
|
269
|
+
}
|
270
|
+
category_list.uniq!
|
271
|
+
return category_list
|
272
|
+
end
|
235
273
|
end
|
236
274
|
end
|
237
275
|
|
data/lib/Charu/Config.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
config = ""
|
4
|
+
config = '
|
5
|
+
module Charu
|
6
|
+
class Config
|
7
|
+
def initialize()
|
8
|
+
# ホームページタイトル
|
9
|
+
@home_title = "TestPage"
|
10
|
+
|
11
|
+
# ホームページトップ
|
12
|
+
@top_home_page = "http://hoge.com/hoge/"
|
13
|
+
|
14
|
+
# ホームページカテゴリー
|
15
|
+
@home_category = ["Ruby", "Python", "Java"]
|
16
|
+
|
17
|
+
# ホームページのdescription
|
18
|
+
@home_description = "日々勉強中"
|
19
|
+
|
20
|
+
# CSS Path
|
21
|
+
@css_theme_path = "./css"
|
22
|
+
|
23
|
+
# プライベートカテゴリー
|
24
|
+
@Private_category = ["Private", "P", "★", "2ch"]
|
25
|
+
|
26
|
+
# Change_Log_path
|
27
|
+
@Change_Log_path = "./../Change_Log"
|
28
|
+
|
29
|
+
# 一度に表示する記事数
|
30
|
+
@article_size = 50
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
'
|
36
|
+
|
37
|
+
if File.exist?("CharuConfig.rb") == false then
|
38
|
+
File.open("CharuConfig.rb", "w") do |f|
|
39
|
+
f.puts(config)
|
40
|
+
end
|
41
|
+
else
|
42
|
+
require './CharuConfig'
|
43
|
+
end
|
44
|
+
|
@@ -0,0 +1,8 @@
|
|
1
|
+
|
2
|
+
<% @days.get_days().each{|day| %>
|
3
|
+
<h2><span class="title">
|
4
|
+
<a href="./index/<%= day.get_day_s() %>.html"><%= day.get_tile() %></a></span></h2>
|
5
|
+
<div class="lm"><span class="lm">Last Update: <%= day.get_Datetime_s() %></span></div>
|
6
|
+
<p><%= day.get_log() %></p>
|
7
|
+
<% } %>
|
8
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
|
2
|
+
<% i = 0 %>
|
3
|
+
<% @daydata.each{|day| %>
|
4
|
+
<% if i == 0 then %>
|
5
|
+
<h1><%= day.get_Datetime().strftime("%Y年%m月%d日 (%A)") %></h1>
|
6
|
+
<% i = 1 %>
|
7
|
+
<% end %>
|
8
|
+
<% } %>
|
9
|
+
|
10
|
+
|
11
|
+
<% @daydata.each{|day| %>
|
12
|
+
<h2><span class="title"><br>
|
13
|
+
<%= day.get_tile() %></h2>
|
14
|
+
|
15
|
+
<p><%= day.get_log() %></p>
|
16
|
+
<% } %>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<a href="./index.html"><h1><%= @title %></h1></a>
|
2
|
+
<br>
|
3
|
+
<body>
|
4
|
+
|
5
|
+
<% @days.each{|day| %>
|
6
|
+
<h2><span class="title">
|
7
|
+
<% link = "日記" %>
|
8
|
+
<a href="./main/index/<%= link = day[:Datetime].strftime("%Y%m%d") %>.html"><%= day[:Title] %></a></span></h2>
|
9
|
+
<div class="lm"><span class="lm">Last Update: <%= hiduke = day[:Datetime].strftime("%Y-%m-%d %H:%M:%S %A") %></span></div>
|
10
|
+
<p><%= day[:Log] %></p>
|
11
|
+
<% } %>
|
12
|
+
|
13
|
+
</body>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<%# -*- encoding: utf-8 -*- %>
|
2
|
+
<!doctype html>
|
3
|
+
<html><head>
|
4
|
+
<meta charset = "utf-8">
|
5
|
+
<meta name="name" content="content">
|
6
|
+
<meta http-equiv="Content-Style-Type" content="text/css">
|
7
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript">
|
8
|
+
<meta http-equiv="Last-Modified" content="<%= Time.now().strftime("%a, %d %b %Y %H:%M:%S") %> GMT">
|
9
|
+
<meta name="keywords" content="<%= @keyword %> ">
|
10
|
+
<meta name="description" content="<%= @description %>">
|
11
|
+
<link rel="stylesheet" href="theme/base.css" type="text/css" media="all">
|
12
|
+
<link rel="stylesheet" href="<%= @css_theme_path %>" title="<%= @title %>" type="text/css" media="all">
|
13
|
+
<title><%= @title %></title>
|
14
|
+
|
15
|
+
<style type="text/css">
|
16
|
+
|
17
|
+
</style>
|
18
|
+
|
19
|
+
</head>
|
20
|
+
|
21
|
+
<body>
|
22
|
+
<a href="http://www.geocities.jp/shiccarorl/index.html"><h1>ニャンモナイトとその日暮らし</h1></a>
|
23
|
+
<br>
|
24
|
+
|
25
|
+
<table style="text-align: left; width: 100%;" border="1" >
|
26
|
+
<tbody>
|
27
|
+
<tr>
|
28
|
+
<td style="vertical-align: top;"><a href="./book/index.html"><h2>読書</h2></a><br />
|
29
|
+
</td>
|
30
|
+
<td style="vertical-align: top;"><a href="./FreeSoft/index.html"><h2>フリーソフト</h2><br />
|
31
|
+
</td>
|
32
|
+
<td style="vertical-align: top;"><a href="./download/index.html"><h2>download</h2><br />
|
33
|
+
</td>
|
34
|
+
</tr>
|
35
|
+
</tbody>
|
36
|
+
</table>
|
37
|
+
|
data/lib/Charu/version.rb
CHANGED
data/lib/Charu.rb
CHANGED
@@ -5,7 +5,11 @@ require 'bundler'
|
|
5
5
|
|
6
6
|
Bundler.require
|
7
7
|
|
8
|
-
|
8
|
+
require 'Charu/ChangeLogMemo'
|
9
|
+
require 'Charu/Config'
|
10
|
+
require 'Charu/CreateHtml'
|
11
|
+
|
12
|
+
|
9
13
|
|
10
14
|
module Charu
|
11
15
|
# Your code goes here...
|
@@ -14,4 +18,10 @@ end
|
|
14
18
|
|
15
19
|
if nil != ARGV[0] then
|
16
20
|
changelogmemo = Charu::ChangeLogMemo.new(ARGV[0])
|
21
|
+
changelogmemo.get_item_sort_reverse().each{|i|
|
22
|
+
#p i.datetime
|
23
|
+
#p i.get_item_title.encode(Encoding::SJIS)
|
24
|
+
#p i.get_item_category()
|
25
|
+
}
|
26
|
+
#changelogmemo.get_category_list()
|
17
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Charu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ShiccaRorl
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -76,8 +76,15 @@ files:
|
|
76
76
|
- exe/Charu
|
77
77
|
- lib/Charu.rb
|
78
78
|
- lib/Charu/ChangeLogMemo.rb
|
79
|
+
- lib/Charu/Config.rb
|
80
|
+
- lib/Charu/CreateHtml.rb
|
81
|
+
- lib/Charu/template/all_body.erb
|
82
|
+
- lib/Charu/template/body.erb
|
83
|
+
- lib/Charu/template/day_body.erb
|
84
|
+
- lib/Charu/template/footer.erb
|
85
|
+
- lib/Charu/template/header.erb
|
79
86
|
- lib/Charu/version.rb
|
80
|
-
homepage: https://rubygems.org/
|
87
|
+
homepage: https://rubygems.org/gems/Charu
|
81
88
|
licenses:
|
82
89
|
- MIT
|
83
90
|
metadata: {}
|