hs-cli 0.2.0 → 0.2.1
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/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
|