hs-cli 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/public/favicon.ico +0 -0
- data/app/views/chapter.erb +5 -4
- data/app/views/course.erb +2 -1
- data/lib/hs/devserver.rb +9 -3
- data/lib/hs/loaders/chapter_loader.rb +5 -1
- data/lib/hs/models/chapter.rb +8 -0
- data/lib/hs/preview/chapter_preview.rb +33 -0
- data/lib/hs/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f5b61dbf6876ef125d18da10041763efc1f2d883522e3bffe9d5a487524a634
|
4
|
+
data.tar.gz: e76752103f1bd400826e10677d2b030d7904a88a07cd2b50d11aa1c863b52967
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 598de64c44b05b09577ec800c0ae43adc3f66a12e2b610b68d999f2e9c89bd9a7fa1ae355db1c3e33bd80399d055244d458ab8a4f9c0b3c776d3e57cc5e26ee0
|
7
|
+
data.tar.gz: a3c79733e95ed0f2ead8ac14f58e91cf75736b8f6e32050a93a2deb80e63635599269ef7604e080fcdea15d5e3f319216fd2b4f451112526da725d49a448a727
|
data/Gemfile.lock
CHANGED
Binary file
|
data/app/views/chapter.erb
CHANGED
@@ -3,18 +3,19 @@
|
|
3
3
|
<h1>
|
4
4
|
<%= @chapter.title %>
|
5
5
|
</h1>
|
6
|
+
<p class="uk-text-<%= @chapter.review_color %>">
|
7
|
+
<span uk-icon="icon: <%= @chapter.review_icon %>"></span>
|
8
|
+
<%= @chapter.review_title %>
|
9
|
+
</p>
|
6
10
|
</div>
|
7
11
|
|
8
|
-
|
9
|
-
|
10
12
|
<%= erb :_nav, layout: false, locals: { course: @course.title, chapter: @chapter.title } %>
|
11
13
|
|
12
|
-
|
13
|
-
|
14
14
|
<div class="uk-container">
|
15
15
|
<%= @chapter.preview %>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<%= erb :_nav, layout: false, locals: { course: @course.title, chapter: @chapter.title } %>
|
19
|
+
|
19
20
|
<%= erb :_footer, layout: false %>
|
20
21
|
</div>
|
data/app/views/course.erb
CHANGED
@@ -15,7 +15,8 @@
|
|
15
15
|
<ol class="toc">
|
16
16
|
<% @course.chapters.each do |chapter| %>
|
17
17
|
<li>
|
18
|
-
<a href="/<%= chapter.slug %>">
|
18
|
+
<a href="/<%= chapter.slug %>" class="uk-text-<%= chapter.review_color %>">
|
19
|
+
<span uk-icon="icon: <%= chapter.review_icon %>"></span>
|
19
20
|
<%= chapter.title %>
|
20
21
|
</a>
|
21
22
|
</li>
|
data/lib/hs/devserver.rb
CHANGED
@@ -9,7 +9,7 @@ module HS
|
|
9
9
|
attr_accessor :app, :entry
|
10
10
|
|
11
11
|
def create(config = {})
|
12
|
-
self.entry = config[:entry]
|
12
|
+
self.entry = config[:entry]
|
13
13
|
self.app = initialize_application(config)
|
14
14
|
set_root_route
|
15
15
|
set_chapter_route
|
@@ -21,9 +21,15 @@ module HS
|
|
21
21
|
def initialize_application(config)
|
22
22
|
public_folder = config[:public_folder] || 'public'
|
23
23
|
hs_public_folder = File.expand_path('../../app/public', __dir__)
|
24
|
+
port = config[:port] || '8080'
|
25
|
+
bind = config[:bind] || '0.0.0.0'
|
26
|
+
create_application(public_folder, hs_public_folder, bind, port)
|
27
|
+
end
|
28
|
+
|
29
|
+
def create_application(public_folder, hs_public_folder, bind, port)
|
24
30
|
Sinatra.new do
|
25
|
-
set(:bind,
|
26
|
-
set(:port,
|
31
|
+
set(:bind, bind)
|
32
|
+
set(:port, port)
|
27
33
|
set(:views, File.expand_path('../../app/views', __dir__))
|
28
34
|
set(:public_folder, public_folder)
|
29
35
|
use(Rack::TryStatic, root: hs_public_folder, urls: %w[/])
|
@@ -15,7 +15,11 @@ module HS
|
|
15
15
|
private
|
16
16
|
|
17
17
|
def create_chapter(course, data) # rubocop:disable Metrics/MethodLength
|
18
|
-
chapter = HS::Chapter.new(
|
18
|
+
chapter = HS::Chapter.new(
|
19
|
+
course,
|
20
|
+
slug: data[:slug],
|
21
|
+
review_status: data[:review_status]
|
22
|
+
)
|
19
23
|
|
20
24
|
data[:_children].each do |child|
|
21
25
|
case child[:_name]
|
data/lib/hs/models/chapter.rb
CHANGED
@@ -8,12 +8,15 @@ module HS
|
|
8
8
|
extend HS::ChapterLoader
|
9
9
|
include HS::ChapterPreview
|
10
10
|
|
11
|
+
REVIEW_STATUSES = %w[none first second final].freeze
|
12
|
+
|
11
13
|
def self.load(course, file)
|
12
14
|
load_chapter(course, File.read(file))
|
13
15
|
end
|
14
16
|
|
15
17
|
attr_reader :course, :content
|
16
18
|
attr_accessor :slug, :title, :intro
|
19
|
+
attr_writer :review_status
|
17
20
|
|
18
21
|
def initialize(course, args)
|
19
22
|
@course = course
|
@@ -24,6 +27,11 @@ module HS
|
|
24
27
|
end
|
25
28
|
end
|
26
29
|
|
30
|
+
def review_status
|
31
|
+
return 'none' unless REVIEW_STATUSES.include?(@review_status)
|
32
|
+
@review_status
|
33
|
+
end
|
34
|
+
|
27
35
|
def hs_url
|
28
36
|
"#{course.hs_url}/#{slug}"
|
29
37
|
end
|
@@ -6,10 +6,43 @@ module HS
|
|
6
6
|
module ChapterPreview
|
7
7
|
include HS::HTMLPreview
|
8
8
|
|
9
|
+
REVIEW_ICON = {
|
10
|
+
none: 'file',
|
11
|
+
first: 'file-edit',
|
12
|
+
second: 'heart',
|
13
|
+
final: 'check'
|
14
|
+
}.freeze
|
15
|
+
|
16
|
+
REVIEW_COLOR = {
|
17
|
+
none: 'muted',
|
18
|
+
first: 'warning',
|
19
|
+
second: 'danger',
|
20
|
+
final: 'primary'
|
21
|
+
}.freeze
|
22
|
+
|
23
|
+
REVIEW_TITLE = {
|
24
|
+
none: 'არაა რედაქტირებული',
|
25
|
+
first: 'პირველადი რედაქტირება',
|
26
|
+
second: 'მეორადი რედაქტირება',
|
27
|
+
final: 'საბოლოო რედაქცია'
|
28
|
+
}.freeze
|
29
|
+
|
9
30
|
def preview
|
10
31
|
body_element
|
11
32
|
end
|
12
33
|
|
34
|
+
def review_icon
|
35
|
+
REVIEW_ICON[review_status.to_sym]
|
36
|
+
end
|
37
|
+
|
38
|
+
def review_title
|
39
|
+
REVIEW_TITLE[review_status.to_sym]
|
40
|
+
end
|
41
|
+
|
42
|
+
def review_color
|
43
|
+
REVIEW_COLOR[review_status.to_sym]
|
44
|
+
end
|
45
|
+
|
13
46
|
private
|
14
47
|
|
15
48
|
def body_element
|
data/lib/hs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hs-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dimitri Kurashvili
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -212,6 +212,7 @@ files:
|
|
212
212
|
- README.md
|
213
213
|
- Rakefile
|
214
214
|
- app/public/default.css
|
215
|
+
- app/public/favicon.ico
|
215
216
|
- app/views/_footer.erb
|
216
217
|
- app/views/_nav.erb
|
217
218
|
- app/views/chapter.erb
|