narou 2.8.3.1 → 2.9.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of narou might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ChangeLog.md +77 -0
- data/Gemfile +2 -1
- data/README.md +69 -86
- data/lib/command/convert.rb +10 -11
- data/lib/command/init.rb +2 -2
- data/lib/command/list.rb +12 -3
- data/lib/command/setting.rb +20 -5
- data/lib/command/update.rb +0 -3
- data/lib/command/version.rb +2 -3
- data/lib/command/web.rb +58 -7
- data/lib/converterbase.rb +7 -24
- data/lib/database.rb +7 -6
- data/lib/device.rb +15 -1
- data/lib/device/ibunko.rb +1 -2
- data/lib/device/library/mac.rb +7 -0
- data/lib/downloader.rb +44 -21
- data/lib/extension.rb +25 -0
- data/lib/helper.rb +4 -3
- data/lib/html.rb +18 -2
- data/lib/narou.rb +20 -0
- data/lib/novelconverter.rb +11 -35
- data/lib/novelinfo.rb +19 -8
- data/lib/novelsetting.rb +0 -6
- data/lib/version.rb +1 -1
- data/lib/web/appserver.rb +134 -15
- data/lib/web/public/favicon.ico +0 -0
- data/lib/web/public/resources/common.ui.js +2 -2
- data/lib/web/public/resources/narou.library.js +657 -91
- data/lib/web/public/resources/narou.queue.js +1 -1
- data/lib/web/public/resources/narou.ui.js +253 -102
- data/lib/web/public/resources/sprintf.js +245 -0
- data/lib/web/pushserver.rb +14 -3
- data/lib/web/views/_about.haml +188 -0
- data/lib/web/views/{diff_list.haml → _diff_list.haml} +0 -0
- data/lib/web/views/{edit_replace_txt.haml → _edit_replace_txt.haml} +4 -4
- data/lib/web/views/_rebooting.haml +18 -0
- data/lib/web/views/bookmarklet/download.js.erb +2 -2
- data/lib/web/views/bookmarklet/insert_button.js.erb +1 -1
- data/lib/web/views/edit_menu.haml +223 -0
- data/lib/web/views/help.haml +29 -12
- data/lib/web/views/index.haml +99 -88
- data/lib/web/views/layout.haml +5 -3
- data/lib/web/views/notepad.haml +39 -0
- data/lib/web/views/novels/setting.haml +15 -5
- data/lib/web/views/settings.haml +2 -2
- data/lib/web/views/style.scss +72 -21
- data/lib/web/views/widget/download.haml +3 -2
- data/lib/web/views/widget/drag_and_drop.haml +3 -2
- data/lib/web/views/widget/notepad.haml +44 -0
- data/narou.gemspec +75 -6
- data/narou.rb +8 -14
- data/preset/ncode.syosetu.com/n5115cq/converter.rb +30 -0
- data/preset/ncode.syosetu.com/n7594ct/converter.rb +37 -0
- data/preset/ncode.syosetu.com/n8725k/converter.rb +1 -1
- data/preset/vertical_font.css +0 -10
- data/spec/generator/convert_spec_gen.rb +2 -0
- data/template/novel.txt.erb +3 -0
- data/webnovel/https.syosetu.org.yaml +1 -1
- data/webnovel/kakuyomu.jp.yaml +82 -0
- data/webnovel/ncode.syosetu.com.yaml +1 -0
- data/webnovel/syosetu.org.yaml +1 -1
- metadata +89 -12
- data/lib/web/views/about.haml +0 -85
- data/preset/DMincho.ttf +0 -0
File without changes
|
@@ -24,11 +24,11 @@
|
|
24
24
|
$("[data-toggle=remove-tooltip]").tooltip(tooltip_opt);
|
25
25
|
});
|
26
26
|
|
27
|
-
#replace-panel.panel.panel-settings{ class:
|
27
|
+
#replace-panel.panel.panel-settings{ class: replace_panel_var[:panel_class] }
|
28
28
|
.panel-heading
|
29
|
-
=
|
30
|
-
.panel-body{ class:
|
31
|
-
=
|
29
|
+
= replace_panel_var[:title]
|
30
|
+
.panel-body{ class: replace_panel_var[:body_class] }
|
31
|
+
= replace_panel_var[:body].join("<br>")
|
32
32
|
.list-group
|
33
33
|
.list-group-item.form-group
|
34
34
|
.list-group-item-text
|
@@ -0,0 +1,18 @@
|
|
1
|
+
:javascript
|
2
|
+
var busy = $("#rebooting-busy");
|
3
|
+
busy.text(".");
|
4
|
+
setInterval(function() {
|
5
|
+
busy.text(busy.text() + ".");
|
6
|
+
if (busy.text().length == 6) {
|
7
|
+
busy.text(".");
|
8
|
+
}
|
9
|
+
}, 500);
|
10
|
+
|
11
|
+
%p
|
12
|
+
サーバを再起動しています<span id="rebooting-busy"></span>
|
13
|
+
%p
|
14
|
+
再起動が完了したら自動的にページがリロードされます。
|
15
|
+
%p
|
16
|
+
しばらく待ってもリロードされない場合は
|
17
|
+
%a(href="/") こちら
|
18
|
+
をクリックするかブラウザのリロードボタンを押してみてください。
|
@@ -24,7 +24,7 @@
|
|
24
24
|
}
|
25
25
|
}
|
26
26
|
if (guard) {
|
27
|
-
alert("
|
27
|
+
alert("対応ページではありません");
|
28
28
|
return;
|
29
29
|
}
|
30
30
|
if (document.getElementById("narourb-console")) return;
|
@@ -38,7 +38,7 @@
|
|
38
38
|
// IE の場合、iframe は親のドキュメントモードが汚染して動かない可能性があるので対処
|
39
39
|
var docmode = document.documentMode || 10;
|
40
40
|
if (docmode < 10) {
|
41
|
-
window.open(url, "
|
41
|
+
window.open(url, "dl_window", "width=400,height=250,menubar=no,toolbar=no,scrollbars=no,resizable=yes");
|
42
42
|
return;
|
43
43
|
}
|
44
44
|
|
@@ -7,6 +7,7 @@
|
|
7
7
|
// 対応小説投稿サイトに関する情報
|
8
8
|
var site_settings = {
|
9
9
|
<%- Downloader.load_settings.each.with_index do |setting, i| -%>
|
10
|
+
<%- next if setting["top_url"] == "http://novel.syosetu.org" -%>
|
10
11
|
"<%= setting["domain"] %>": {
|
11
12
|
<%- case setting["domain"] -%>
|
12
13
|
<%- when "www.mai-net.net" -%>
|
@@ -122,7 +123,6 @@
|
|
122
123
|
|
123
124
|
var links = document.getElementsByTagName("a");
|
124
125
|
for (var i = 0; i < links.length; i++) {
|
125
|
-
//for (var i = 0; i < 3; i++) {
|
126
126
|
var link = links[i];
|
127
127
|
var setting = site_settings[link.hostname];
|
128
128
|
if (setting && link.href.toLowerCase().match(setting.url)) {
|
@@ -0,0 +1,223 @@
|
|
1
|
+
:javascript
|
2
|
+
local_initialize_functions.push(function($) {
|
3
|
+
$("[data-toggle=tooltip]").tooltip({
|
4
|
+
animation: false,
|
5
|
+
container: "body",
|
6
|
+
});
|
7
|
+
|
8
|
+
Narou.Notepad.replace("notepad", { rows: 7 });
|
9
|
+
|
10
|
+
var menu = new Narou.ContextMenu;
|
11
|
+
Narou.Template.replaceAll({ menu: menu });
|
12
|
+
var menu_items = $("#menu_items tr");
|
13
|
+
var input_box = $("#input_box");
|
14
|
+
var preview = $("#preview");
|
15
|
+
|
16
|
+
preview.append(menu.object);
|
17
|
+
menu.object.show();
|
18
|
+
|
19
|
+
var clearActiveColumns = function() {
|
20
|
+
menu_items.removeClass("active");
|
21
|
+
};
|
22
|
+
|
23
|
+
var appendLineToTextbox = function() {
|
24
|
+
menu_items.each(function() {
|
25
|
+
if (!$(this).is(".active")) return;
|
26
|
+
var label = $(this).data("menuLabel");
|
27
|
+
var command = $(this).data("menuCommand");
|
28
|
+
var line = sprintf("\n%s<>%s", label, command);
|
29
|
+
input_box.val((input_box.val() + line).trim());
|
30
|
+
});
|
31
|
+
};
|
32
|
+
|
33
|
+
var refreshPreview = function() {
|
34
|
+
menu.object.remove();
|
35
|
+
menu.initializeMenuObject(input_box.val());
|
36
|
+
menu.initializeMenuEvents();
|
37
|
+
preview.append(menu.object);
|
38
|
+
menu.object.show();
|
39
|
+
};
|
40
|
+
|
41
|
+
var attachChangeEvents = function(textarea) {
|
42
|
+
var timer_id = null;
|
43
|
+
|
44
|
+
textarea
|
45
|
+
.on("focus", function() {
|
46
|
+
this._old_value = this.value;
|
47
|
+
})
|
48
|
+
.on("blur", function() {
|
49
|
+
if (this.value !== this._old_value) {
|
50
|
+
refreshPreview();
|
51
|
+
this._old_value = this.value;
|
52
|
+
}
|
53
|
+
})
|
54
|
+
.on("keyup paste cut", function() {
|
55
|
+
setTimeout(function() {
|
56
|
+
clearTimeout(timer_id);
|
57
|
+
timer_id = setTimeout(function(value, old_value) {
|
58
|
+
if (value !== old_value) {
|
59
|
+
refreshPreview();
|
60
|
+
this._old_value = this.value;
|
61
|
+
}
|
62
|
+
}.bind(this), 300, this.value, this._old_value);
|
63
|
+
}.bind(this), 10);
|
64
|
+
});
|
65
|
+
};
|
66
|
+
|
67
|
+
menu_items.on("click", function(e) {
|
68
|
+
$(this).toggleClass("active");
|
69
|
+
});
|
70
|
+
|
71
|
+
$("#button_move").on("click", function(e) {
|
72
|
+
appendLineToTextbox();
|
73
|
+
clearActiveColumns();
|
74
|
+
refreshPreview();
|
75
|
+
});
|
76
|
+
|
77
|
+
$("#button_clear_active").on("click", function(e) {
|
78
|
+
clearActiveColumns();
|
79
|
+
});
|
80
|
+
|
81
|
+
$("#button_save").on("click", function(e) {
|
82
|
+
menu.save(input_box.val().trim());
|
83
|
+
refreshPreview();
|
84
|
+
Narou.Flash.show("保存が完了しました", "success");
|
85
|
+
});
|
86
|
+
|
87
|
+
$("#button_clear").on("click", function(e) {
|
88
|
+
input_box.val("");
|
89
|
+
});
|
90
|
+
|
91
|
+
$("#button_reset_to_default").on("click", function(e) {
|
92
|
+
input_box.val(menu.createDefaultMenuText());
|
93
|
+
refreshPreview();
|
94
|
+
});
|
95
|
+
|
96
|
+
attachChangeEvents(input_box);
|
97
|
+
});
|
98
|
+
|
99
|
+
:scss
|
100
|
+
$height: 430px;
|
101
|
+
|
102
|
+
#menu_items {
|
103
|
+
height: $height;
|
104
|
+
max-height: $height;
|
105
|
+
overflow-y: auto;
|
106
|
+
cursor: pointer;
|
107
|
+
box-shadow: 2px 2px 1px rgba(0,0,0,0.1);;
|
108
|
+
}
|
109
|
+
|
110
|
+
#button_move {
|
111
|
+
position: relative;
|
112
|
+
@media (min-width:768px) {
|
113
|
+
height: $height;
|
114
|
+
}
|
115
|
+
@media (max-width:767px) {
|
116
|
+
height: 70px;
|
117
|
+
}
|
118
|
+
button {
|
119
|
+
position: absolute;
|
120
|
+
top: 50%;
|
121
|
+
left: 25%;
|
122
|
+
margin-top: -0.5em;
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
#input_box {
|
127
|
+
height: $height;
|
128
|
+
}
|
129
|
+
|
130
|
+
#preview .dropdown-menu {
|
131
|
+
position: relative;
|
132
|
+
}
|
133
|
+
|
134
|
+
%script#edit_menu_template(type="text/template")
|
135
|
+
|
136
|
+
.navbar.navbar-default.navbar-fixed-top(role="navigation")
|
137
|
+
.container
|
138
|
+
.navbar-header
|
139
|
+
%button.navbar-toggle(type="button")
|
140
|
+
%span.sr-only Toggle navigation
|
141
|
+
%span.icon-bar
|
142
|
+
%span.icon-bar
|
143
|
+
%span.icon-bar
|
144
|
+
%a.navbar-brand(href="#" data-move-to="top") Narou.rb WEB UI
|
145
|
+
#bs-navbar-collapse-1.collapse.navbar-collapse
|
146
|
+
%ul.nav.navbar-nav
|
147
|
+
%li
|
148
|
+
%a(href="/settings") 環境設定
|
149
|
+
%li
|
150
|
+
%a(href="/help") ヘルプ
|
151
|
+
%li
|
152
|
+
%a(href="/") 戻る
|
153
|
+
%p#queue-text.navbar-text.navbar-right(data-toggle="tooltip" title="キューに積まれた処理の数" data-placement="bottom")
|
154
|
+
%span.glyphicon.glyphicon-inbox
|
155
|
+
%span#queue 0
|
156
|
+
|
157
|
+
.container.theme-showcase(role="main")
|
158
|
+
%h1 個別メニューの編集
|
159
|
+
%ul.text-muted
|
160
|
+
%li
|
161
|
+
編集内容はブラウザに保存されます。他のPCのブラウザでも同じ内容にしたい場合は
|
162
|
+
下部にあるメモ帳を使ってコピペして下さい。
|
163
|
+
%li
|
164
|
+
書式は「ラベル<>コマンド」になっています。空行や不正な書式の場合は無視されます。
|
165
|
+
また、ラベル部分は自由に設定出来ます。
|
166
|
+
#edit_menu_container
|
167
|
+
.row
|
168
|
+
.col-sm-4
|
169
|
+
%span.label.label-default
|
170
|
+
項目一覧
|
171
|
+
#menu_items
|
172
|
+
%table.table.table-hover.table-bordered
|
173
|
+
%tbody
|
174
|
+
%script(type="text/plain" role="template")
|
175
|
+
:plain
|
176
|
+
<% _.each(menu.items, function(item) { %>
|
177
|
+
<tr data-menu-label="<%- item.label %>" data-menu-command="<%- item.command %>">
|
178
|
+
<td>
|
179
|
+
<%- item.label %>
|
180
|
+
<span class="label label-white pull-right"><%= item.command %></span>
|
181
|
+
</td>
|
182
|
+
</tr>
|
183
|
+
<% }) %>
|
184
|
+
.col-sm-1
|
185
|
+
#button_move
|
186
|
+
%button.btn.btn-default
|
187
|
+
%span.glyphicon.glyphicon-arrow-right
|
188
|
+
.col-sm-4
|
189
|
+
%span.label.label-default
|
190
|
+
編集欄
|
191
|
+
%script(type="text/plain" role="template")
|
192
|
+
%textarea#input_box.form-control
|
193
|
+
<%- menu.text %>
|
194
|
+
.col-sm-2
|
195
|
+
%div
|
196
|
+
%span.label.label-default
|
197
|
+
プレビュー
|
198
|
+
#preview
|
199
|
+
.row
|
200
|
+
|
201
|
+
.row
|
202
|
+
.col-sm-4.text-center
|
203
|
+
%button#button_clear_active.btn.btn-default
|
204
|
+
選択を解除
|
205
|
+
.col-sm-1
|
206
|
+
.col-sm-4.text-center
|
207
|
+
%button#button_save.btn.btn-info
|
208
|
+
保存
|
209
|
+
%button#button_clear.btn.btn-default
|
210
|
+
消去
|
211
|
+
%button#button_reset_to_default.btn.btn-default
|
212
|
+
デフォに戻す
|
213
|
+
.row
|
214
|
+
|
215
|
+
.row
|
216
|
+
.col-sm-4
|
217
|
+
%div
|
218
|
+
%span.label.label-default
|
219
|
+
メモ帳
|
220
|
+
|
221
|
+
%span.text-muted
|
222
|
+
%small ※自動でサーバに保存されます
|
223
|
+
#notepad
|
data/lib/web/views/help.haml
CHANGED
@@ -5,24 +5,37 @@
|
|
5
5
|
container: "body",
|
6
6
|
});
|
7
7
|
|
8
|
-
var bookmarklet = function(d,e,u,o,s) {
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
var bookmarklet = function(d,l,e,u,o,s,m,ssl) {
|
9
|
+
org='#{request.scheme}://#{env["SERVER_NAME"]}:#{env["SERVER_PORT"]}/';
|
10
|
+
u=org+'js/widget.js?mode=%MODE%&_='+Date.now();
|
11
|
+
u2=org+'widget/download?from='+l.hostname+'&target='+encodeURIComponent(l.href)+'&_='+Date.now();
|
12
|
+
ssl=l.protocol.match(/^https/);
|
13
|
+
if('%MODE%'==='download'&&ssl){
|
14
|
+
window.open(u2,'dl_window','width=400,height=300,menubar=no,toolbar=no,scrollbars=no,resizable=yes');
|
15
|
+
return
|
16
|
+
}
|
17
|
+
o=d.createElement('div');
|
18
|
+
m='WEB UI Server: ';
|
19
|
+
if(ssl){
|
20
|
+
m+='このサイト上では実行出来ません';
|
21
|
+
}
|
22
|
+
else{
|
23
|
+
m+='OFFLINE';
|
24
|
+
}
|
25
|
+
o.innerHTML=m;
|
26
|
+
o.id='narourb-offline';
|
12
27
|
s=o.style;
|
13
|
-
s.position=
|
28
|
+
s.position='fixed';
|
14
29
|
s.top=-1000;
|
15
30
|
s.left=0;
|
16
31
|
s.zIndex=9998;
|
17
|
-
s.color=
|
18
|
-
s.background=
|
32
|
+
s.color='white';
|
33
|
+
s.background='red';
|
19
34
|
d.body.appendChild(o);
|
20
35
|
setTimeout(function(){
|
21
36
|
s.top=0
|
22
37
|
},1000);
|
23
38
|
|
24
|
-
u='#{request.scheme}://#{env["SERVER_NAME"]}:#{env["SERVER_PORT"]}'+
|
25
|
-
'/js/widget.js?mode=%MODE%&t='+Date.now();
|
26
39
|
e=d.createElement('script');
|
27
40
|
e.charset='utf-8';
|
28
41
|
e.src=u;
|
@@ -30,8 +43,8 @@
|
|
30
43
|
};
|
31
44
|
|
32
45
|
function createBookmarkletStrings(proc, mode) {
|
33
|
-
var proc_string = proc.toString().replace(
|
34
|
-
return ("javascript:(" + proc_string + ")(document)").replace(/ {2,}|\n/g, "");
|
46
|
+
var proc_string = proc.toString().replace(/%MODE%/g, mode);
|
47
|
+
return ("javascript:(" + proc_string + ")(document,location)").replace(/ {2,}|\n/g, "");
|
35
48
|
}
|
36
49
|
|
37
50
|
$("#bookmarklet-download").attr("href", createBookmarkletStrings(bookmarklet, "download"));
|
@@ -66,6 +79,8 @@
|
|
66
79
|
%p 小説掲載サイトを表示したまま直接ダウンロード出来るブックマークレットです。
|
67
80
|
%p 下記のリンクをブックマークに登録して、ダウンロードしたい小説のページで実行して下さい。(WEB UIサーバ起動中に限ります)
|
68
81
|
%p ブックマークバーにドラッグ&ドロップしたり、右クリックからブックマークにいれると簡単です。
|
82
|
+
%p DLが始まればウィンドウは閉じても問題ありません。
|
83
|
+
%p.text-muted ※httpsなサイトの場合はウィンドウがポップアップします。
|
69
84
|
%p
|
70
85
|
%span.glyphicon.glyphicon-bookmark
|
71
86
|
%big
|
@@ -77,6 +92,7 @@
|
|
77
92
|
%img#ss-bookmarklet2(src="/resources/help/bookmarklet2.png" class="img-thumbnail")
|
78
93
|
%p 小説投稿サイト内の、各小説へのリンクの横にダウンロード用のボタンを埋め込みます。
|
79
94
|
%p ランキングページや一覧ページなどで実行するとダウンロードが一発で出来るようになったり、どれがダウンロード済みなのかが一目瞭然になります。
|
95
|
+
%p.text-muted ※httpsなサイト内では動きません。
|
80
96
|
%p
|
81
97
|
%span.glyphicon.glyphicon-bookmark
|
82
98
|
%big
|
@@ -119,7 +135,8 @@
|
|
119
135
|
%h4 タグ
|
120
136
|
%div
|
121
137
|
%img#ss-tag(src="/resources/help/tag.png" class="img-thumbnail")
|
122
|
-
%p
|
138
|
+
%p 小説にタグが設定されている場合、タグ欄に表示されます。そのタグをクリックすることで絞込ができるようになっています。タグで絞り込んだ状態で更に別のタグをクリックすると、複数のタグでの絞込が可能です。
|
139
|
+
%p タグをAltキーを押しながらクリックすることで、除外タグ検索になります。
|
123
140
|
%p タグの絞込状態を解除するにはメニューのタグから解除ボタンを押すか、タグの右側にある小さな空白ラベルをクリックすることでも解除することが出来ます。
|
124
141
|
|
125
142
|
%h4 シングル選択モード
|
data/lib/web/views/index.haml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
.navbar.navbar-default.navbar-fixed-top(role="navigation")
|
1
|
+
%nav#header-navbar.navbar.navbar-default.navbar-fixed-top(role="navigation")
|
2
2
|
.container
|
3
3
|
.navbar-header
|
4
4
|
%button.navbar-toggle(type="button")
|
@@ -30,6 +30,23 @@
|
|
30
30
|
%span.active-ok.glyphicon.glyphicon-ok
|
31
31
|
凍結中を表示
|
32
32
|
%li.divider
|
33
|
+
%li#action-view-toggle-setting-page-open-new-tab
|
34
|
+
%a(href="#")
|
35
|
+
%span
|
36
|
+
%span.active-ok.glyphicon.glyphicon-ok
|
37
|
+
変換設定ページは新規タブで開く
|
38
|
+
%li.divider
|
39
|
+
%li#action-view-toggle-buttons-fix-footer
|
40
|
+
%a(href="#")
|
41
|
+
%span
|
42
|
+
%span.active-ok.glyphicon.glyphicon-ok
|
43
|
+
ボタンを画面下部に固定
|
44
|
+
%li.divider
|
45
|
+
%li#action-view-link-to-edit-menu
|
46
|
+
%a(href="/edit_menu")
|
47
|
+
%span
|
48
|
+
個別メニューを編集...
|
49
|
+
%li.divider
|
33
50
|
%li#action-view-reset
|
34
51
|
%a(href="/") 表示設定を全てリセット
|
35
52
|
%li.dropdown
|
@@ -99,6 +116,15 @@
|
|
99
116
|
%a(href="#")
|
100
117
|
%span
|
101
118
|
CSVファイルからインポート
|
119
|
+
%li.divider
|
120
|
+
%li#action-tool-notepad
|
121
|
+
%a(href="/notepad")
|
122
|
+
%span
|
123
|
+
メモ帳(別ページ)
|
124
|
+
%li#action-tool-notepad-window
|
125
|
+
%a(href="#")
|
126
|
+
%span
|
127
|
+
メモ帳(ポップアップ)
|
102
128
|
%ul.nav.navbar-nav.navbar-right
|
103
129
|
%li.dropdown
|
104
130
|
%a.dropdown-toggle(data-toggle="dropdown" href="#")
|
@@ -111,19 +137,24 @@
|
|
111
137
|
%a(href="/settings")
|
112
138
|
%span
|
113
139
|
%span.glyphicon.glyphicon-wrench
|
114
|
-
|
140
|
+
環境設定...
|
115
141
|
%li.divider
|
116
142
|
%li#action-option-help
|
117
143
|
%a(href="/help")
|
118
144
|
%span
|
119
145
|
%span.glyphicon.glyphicon-question-sign
|
120
|
-
|
146
|
+
ヘルプ...
|
121
147
|
%li#action-option-about
|
122
148
|
%a(href="#")
|
123
149
|
%span
|
124
150
|
%span.glyphicon.glyphicon-info-sign
|
125
151
|
Narou.rb について
|
126
152
|
%li.divider
|
153
|
+
%li#action-option-server-reboot
|
154
|
+
%a(href="#")
|
155
|
+
%span
|
156
|
+
%span.glyphicon.glyphicon-refresh
|
157
|
+
サーバを再起動
|
127
158
|
%li#action-option-server-shutdown
|
128
159
|
%a(href="#")
|
129
160
|
%span
|
@@ -139,6 +170,9 @@
|
|
139
170
|
%input#myFilter.form-control(placeholder="Filter" type="text")/
|
140
171
|
%span#myFilter-clear.glyphicon.glyphicon-remove-circle
|
141
172
|
|
173
|
+
%nav#footer-navbar.navbar.navbar-default.navbar-fixed-bottom.hide
|
174
|
+
.container
|
175
|
+
|
142
176
|
.container.container-main.theme-showcase(role="main")
|
143
177
|
-# 初めて表示した時のメッセージ
|
144
178
|
- if @is_first_access
|
@@ -163,70 +197,72 @@
|
|
163
197
|
|
164
198
|
-# 操作パネル
|
165
199
|
#control-panel
|
166
|
-
.
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
%
|
171
|
-
%span.sr-only Toggle Dropdown
|
172
|
-
%ul.dropdown-menu(role="menu")
|
173
|
-
%li
|
174
|
-
%a#button-download-force(href="#") 選択した小説を強制再ダウンロード
|
175
|
-
.btn-group
|
176
|
-
%button#button-update.btn.btn-success(type="button") Update
|
177
|
-
%button.btn.btn-success.dropdown-toggle(type="button" data-toggle="dropdown")
|
178
|
-
%span.caret
|
179
|
-
%span.sr-only Toggle Dropdown
|
180
|
-
%ul.dropdown-menu(role="menu")
|
181
|
-
%li
|
182
|
-
%a#button-update-view(href="#") 表示されている小説を更新
|
183
|
-
%li
|
184
|
-
%a#button-update-general-lastup(href="#") 最新話掲載日を更新
|
185
|
-
%li
|
186
|
-
%a#button-update-force(href="#") 凍結済みでも更新
|
187
|
-
.btn-group
|
188
|
-
%button#button-send.btn.btn-warning(type="button") Send
|
189
|
-
- if Inventory.load("local_setting")["hotentry"]
|
190
|
-
%button.btn.btn-warning.dropdown-toggle(type="button" data-toggle="dropdown")
|
200
|
+
.control-panel-inner
|
201
|
+
.btn-group
|
202
|
+
%button#button-download.btn.btn-primary(type="button" data-toggle="tooltip" |
|
203
|
+
title="新規ダウンロード") Download |
|
204
|
+
%button.btn.btn-primary.dropdown-toggle(type="button" data-toggle="dropdown")
|
191
205
|
%span.caret
|
192
206
|
%span.sr-only Toggle Dropdown
|
193
207
|
%ul.dropdown-menu(role="menu")
|
194
208
|
%li
|
195
|
-
%a#button-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
%
|
219
|
-
|
220
|
-
|
221
|
-
%
|
222
|
-
%
|
223
|
-
%
|
224
|
-
|
225
|
-
%
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
209
|
+
%a#button-download-force(href="#") 選択した小説を強制再ダウンロード
|
210
|
+
.btn-group
|
211
|
+
%button#button-update.btn.btn-success(type="button" data-toggle="tooltip") Update
|
212
|
+
%button.btn.btn-success.dropdown-toggle(type="button" data-toggle="dropdown")
|
213
|
+
%span.caret
|
214
|
+
%span.sr-only Toggle Dropdown
|
215
|
+
%ul.dropdown-menu(role="menu")
|
216
|
+
%li
|
217
|
+
%a#button-update-view(href="#") 表示されている小説を更新
|
218
|
+
%li
|
219
|
+
%a#button-update-force(href="#") 凍結済みでも更新
|
220
|
+
%li
|
221
|
+
%a#button-update-general-lastup(href="#") 最新話掲載日を更新
|
222
|
+
.btn-group
|
223
|
+
%button#button-send.btn.btn-warning(type="button" data-toggle="tooltip") Send
|
224
|
+
- if Inventory.load("local_setting")["hotentry"]
|
225
|
+
%button.btn.btn-warning.dropdown-toggle(type="button" data-toggle="dropdown")
|
226
|
+
%span.caret
|
227
|
+
%span.sr-only Toggle Dropdown
|
228
|
+
%ul.dropdown-menu(role="menu")
|
229
|
+
%li
|
230
|
+
%a#button-send-hotentry(href="#") hotentry を送信
|
231
|
+
.btn-group
|
232
|
+
%button.btn.btn-info.dropdown-toggle.enable-selected(type="button" data-toggle="dropdown")
|
233
|
+
Freeze
|
234
|
+
%span.caret
|
235
|
+
%span.sr-only Toggle Dropdown
|
236
|
+
%ul.dropdown-menu(role="menu")
|
237
|
+
%li
|
238
|
+
%a#button-freeze-on(href="#") 選択した小説を凍結
|
239
|
+
%li
|
240
|
+
%a#button-freeze-off(href="#") 選択した小説の凍結を解除
|
241
|
+
.btn-group
|
242
|
+
%button#button-remove.btn.btn-danger.enable-selected(type="button" data-toggle="tooltip" |
|
243
|
+
title="選択した小説を削除") Remove |
|
244
|
+
.btn-group
|
245
|
+
%button#button-convert.btn.btn-default.enable-selected(type="button" data-toggle="tooltip" |
|
246
|
+
title="選択した小説を変換") Convert |
|
247
|
+
.btn-group
|
248
|
+
%button.btn.btn-default.dropdown-toggle.enable-selected(type="button" data-toggle="dropdown")
|
249
|
+
Other
|
250
|
+
%span.caret
|
251
|
+
%span.sr-only Toggle Dropdown
|
252
|
+
%ul.dropdown-menu(role="menu")
|
253
|
+
%li
|
254
|
+
%a#button-diff(href="#") 選択した小説の最新の差分を表示
|
255
|
+
%li
|
256
|
+
%a#button-inspect(href="#") 選択した小説の調査状況ログを表示
|
257
|
+
%li
|
258
|
+
%a#button-folder(href="#") 選択した小説の保存フォルダを開く
|
259
|
+
%li
|
260
|
+
%a#button-backup(href="#") 選択した小説のバックアップを作成
|
261
|
+
%li
|
262
|
+
%a#button-setting-burn(href="#") 選択した小説の設定の未設定項目に共通設定を焼付ける
|
263
|
+
.btn-group
|
264
|
+
%button#button-eject.hide.btn.btn-default(type="button" data-toggle="tooltip" title="端末を取り出す")
|
265
|
+
Eject
|
230
266
|
|
231
267
|
-# 小説の一覧テーブル
|
232
268
|
%div
|
@@ -244,31 +280,6 @@
|
|
244
280
|
%li#rect-select-menu-cancel
|
245
281
|
%a(href="#") キャンセル
|
246
282
|
|
247
|
-
-# 個別メニュー
|
248
|
-
%ul#context-menu.dropdown-menu(role="menu")
|
249
|
-
%li#context-menu-setting
|
250
|
-
%a(href="#") 小説の変換設定
|
251
|
-
%li#context-menu-diff
|
252
|
-
%a(href="#" data-move-to="top") 差分を表示
|
253
|
-
%li#context-menu-edit-tag
|
254
|
-
%a(href="#") タグを編集
|
255
|
-
%li#context-menu-freeze-toggle
|
256
|
-
%a(href="#") 凍結 or 解凍
|
257
|
-
%li#context-menu-update
|
258
|
-
%a(href="#") 更新
|
259
|
-
%li#context-menu-send
|
260
|
-
%a(href="#") 送信
|
261
|
-
%li#context-menu-remove
|
262
|
-
%a(href="#") 削除
|
263
|
-
%li#context-menu-convert
|
264
|
-
%a(href="#") 変換
|
265
|
-
%li#context-menu-inspect
|
266
|
-
%a(href="#") 調査状況ログを表示
|
267
|
-
%li#context-menu-folder
|
268
|
-
%a(href="#") 保存フォルダを開く
|
269
|
-
%li#context-menu-backup
|
270
|
-
%a(href="#") バックアップを作成
|
271
|
-
|
272
283
|
-# 個別表示用コンソール
|
273
284
|
#console-dialog.modal.fade(tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true")
|
274
285
|
.modal-dialog
|