discourse_theme 0.3.5 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/discourse_theme/cli.rb +12 -1
- data/lib/discourse_theme/client.rb +6 -2
- data/lib/discourse_theme/version.rb +1 -1
- data/lib/discourse_theme/watcher.rb +9 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de1cb65ed52d9dd44bbe0039b0a40f00f55897e68106d5193cfb0717937b4ff9
|
4
|
+
data.tar.gz: 8192308474973266925422876401c974c3daf0ffb331d7423ac06d2368c3db68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2dcbaf4918cf88082c27270a05e1fb888d5d2e462160834c7a2b82ab79acfb3eaf62d0732ea5da840f83d1656f36d6aadda4633cdec86b77149d57c5188c0514
|
7
|
+
data.tar.gz: 3c095bcfcc224691d30405353a06eb6ccf64446331175dc28e7f8eebf1347b8b2707c37313e1c29668a35937a4a550c8ef81bc2701201674a5baf8b525d72211
|
data/lib/discourse_theme/cli.rb
CHANGED
@@ -91,7 +91,12 @@ module DiscourseTheme
|
|
91
91
|
theme = theme_list.find { |t| t["id"] == theme_id }
|
92
92
|
end
|
93
93
|
|
94
|
-
|
94
|
+
about_json = JSON.parse(File.read(File.join(dir, 'about.json'))) rescue nil
|
95
|
+
already_uploaded = !!theme
|
96
|
+
is_component = theme&.[]("component")
|
97
|
+
component_count = about_json&.[]("components")&.length || 0
|
98
|
+
|
99
|
+
if !already_uploaded && !is_component && component_count > 0
|
95
100
|
options = {}
|
96
101
|
options["Yes"] = :sync
|
97
102
|
options["No"] = :none
|
@@ -106,6 +111,12 @@ module DiscourseTheme
|
|
106
111
|
settings.theme_id = theme_id = uploader.upload_full_theme
|
107
112
|
|
108
113
|
Cli.success "Theme uploaded (id:#{theme_id})"
|
114
|
+
Cli.info "Preview: #{client.root}/?preview_theme_id=#{theme_id}"
|
115
|
+
if client.is_theme_creator
|
116
|
+
Cli.info "Manage: #{client.root}/my/themes"
|
117
|
+
else
|
118
|
+
Cli.info "Manage: #{client.root}/admin/customize/themes/#{theme_id}"
|
119
|
+
end
|
109
120
|
watcher = DiscourseTheme::Watcher.new(dir: dir, uploader: uploader)
|
110
121
|
|
111
122
|
Cli.progress "Watching for changes in #{dir}..."
|
@@ -103,12 +103,16 @@ module DiscourseTheme
|
|
103
103
|
json["about"]["version"]
|
104
104
|
end
|
105
105
|
|
106
|
-
private
|
107
|
-
|
108
106
|
def root
|
109
107
|
@url
|
110
108
|
end
|
111
109
|
|
110
|
+
def is_theme_creator
|
111
|
+
@is_theme_creator
|
112
|
+
end
|
113
|
+
|
114
|
+
private
|
115
|
+
|
112
116
|
def request(request, never_404: false)
|
113
117
|
uri = URI.parse(@url)
|
114
118
|
http = Net::HTTP.new(uri.host, uri.port)
|
@@ -1,5 +1,13 @@
|
|
1
1
|
module DiscourseTheme
|
2
2
|
class Watcher
|
3
|
+
def self.return_immediately!
|
4
|
+
@return_immediately = true
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.return_immediately?
|
8
|
+
!!@return_immediately
|
9
|
+
end
|
10
|
+
|
3
11
|
def initialize(dir:, uploader:)
|
4
12
|
@dir = dir
|
5
13
|
@uploader = uploader
|
@@ -40,7 +48,7 @@ module DiscourseTheme
|
|
40
48
|
end
|
41
49
|
|
42
50
|
listener.start
|
43
|
-
sleep
|
51
|
+
sleep unless self.class.return_immediately?
|
44
52
|
end
|
45
53
|
|
46
54
|
protected
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discourse_theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Saffron
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|