Show plugin info on the plugin download page

This commit is contained in:
Alex Ling 2020-07-24 15:02:05 +00:00
parent 3b315ad880
commit 8694b4beaf
3 changed files with 25 additions and 6 deletions

View File

@ -118,6 +118,7 @@ td>.uk-dropdown {
color: #ccc;
}
.uk-light .uk-nav-header {
.uk-light .uk-nav-header,
.uk-light .uk-description-list>dt {
color: #555;
}

View File

@ -31,13 +31,13 @@ class Plugin
"plugin directory #{dir}"
end
json = JSON.parse File.read info_path
@json = JSON.parse File.read info_path
begin
{% for name in ["id", "title", "author", "version", "placeholder"] %}
@{{name.id}} = json[{{name}}].as_s
@{{name.id}} = @json[{{name}}].as_s
{% end %}
@wait_seconds = json["wait_seconds"].as_i.to_u64
@wait_seconds = @json["wait_seconds"].as_i.to_u64
unless @id.alphanumeric_underscore?
raise "Plugin ID can only contain alphanumeric characters and " \
@ -48,6 +48,10 @@ class Plugin
"at #{@dir}. Error: #{e.message}"
end
end
def each(&block : String, JSON::Any -> _)
@json.as_h.each &block
end
end
struct Storage

View File

@ -9,7 +9,7 @@
<h2 class=uk-title>Download with Plugins</h2>
<div class="uk-grid-small" uk-grid>
<div class="uk-width-3-4">
<div class="uk-width-3-4@m uk-child-width-1-1">
<div class="uk-margin">
<label class="uk-form-label" for="search-input">&nbsp;</label>
<div class="uk-form-controls">
@ -17,7 +17,7 @@
</div>
</div>
</div>
<div class="uk-width-1-4">
<div class="uk-width-expand">
<div class="uk-margin">
<label class="uk-form-label" for="plugin-select">Choose a plugin</label>
<div class="uk-form-controls">
@ -29,8 +29,22 @@
</div>
</div>
</div>
<div class="uk-width-auto">
<div class="uk-margin">
<label class="uk-form-label" for="search-input">&nbsp;</label>
<div class="uk-form-controls" style="padding-top: 10px;">
<span uk-icon="info" uk-toggle="target: #toggle"></span>
</div>
</div>
</div>
</div>
<dl class="uk-description-list" id="toggle" hidden>
<% plugin.info.each do |k, v| %>
<dt><%= k %></dt>
<dd><%= v.to_s %></dd>
<% end %>
</dl>
<div id="table" class="uk-margin-large-top" hidden>
<h3 id="title-text"></h3>