Support a `url` field in plugin metadata
This commit is contained in:
parent
3d7b534564
commit
7dea65122e
|
@ -23,7 +23,7 @@
|
|||
{{admin-nav-item route='admin.api' label='admin.api.title'}}
|
||||
{{admin-nav-item route='admin.backups' label='admin.backups.title'}}
|
||||
{{/if}}
|
||||
{{admin-nav-item route='adminPlugins.index' label='admin.plugins.title'}}
|
||||
{{admin-nav-item route='adminPlugins' label='admin.plugins.title'}}
|
||||
{{plugin-outlet "admin-menu" tagName="li"}}
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
{{#each plugin in controller}}
|
||||
<tr>
|
||||
<td>
|
||||
{{#if plugin.admin_route}}
|
||||
{{#link-to plugin.admin_route.full_location}}{{plugin.name}}{{/link-to}}
|
||||
{{#if plugin.url}}
|
||||
<a {{bind-attr href=plugin.url}} target="_blank">{{plugin.name}}</a>
|
||||
{{else}}
|
||||
{{plugin.name}}
|
||||
{{/if}}
|
||||
|
@ -34,3 +34,6 @@
|
|||
{{else}}
|
||||
<p>{{i18n "admin.plugins.none_installed"}}</p>
|
||||
{{/if}}
|
||||
|
||||
<p><a href="https://meta.discourse.org/t/install-a-plugin/19157">{{i18n "admin.plugins.howto"}}</a></p>
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
class AdminPluginSerializer < ApplicationSerializer
|
||||
attributes :name,
|
||||
:version,
|
||||
:url,
|
||||
:admin_route
|
||||
|
||||
def name
|
||||
|
@ -11,6 +12,14 @@ class AdminPluginSerializer < ApplicationSerializer
|
|||
object.metadata.version
|
||||
end
|
||||
|
||||
def url
|
||||
object.metadata.url
|
||||
end
|
||||
|
||||
def include_url?
|
||||
url.present?
|
||||
end
|
||||
|
||||
def admin_route
|
||||
route = object.admin_route
|
||||
return unless route
|
||||
|
|
|
@ -1672,6 +1672,7 @@ en:
|
|||
none_installed: "You don't have any plugins installed."
|
||||
version: "Version"
|
||||
change_settings: "Change Settings"
|
||||
howto: "How do I install plugins?"
|
||||
|
||||
backups:
|
||||
title: "Backups"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
module Plugin; end
|
||||
|
||||
class Plugin::Metadata
|
||||
FIELDS ||= [:name, :about, :version, :authors]
|
||||
FIELDS ||= [:name, :about, :version, :authors, :url]
|
||||
attr_accessor *FIELDS
|
||||
|
||||
def self.parse(text)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# about: Uses the lazyYT plugin to lazy load Youtube videos
|
||||
# version: 1.0.1
|
||||
# authors: Arpit Jalan
|
||||
# url: https://github.com/discourse/discourse/tree/master/plugins/lazyYT
|
||||
|
||||
# javascript
|
||||
register_asset "javascripts/lazyYT.js"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# about: adds poll support to Discourse
|
||||
# version: 0.1
|
||||
# authors: Vikhyat Korrapati
|
||||
# url: https://github.com/discourse/discourse/tree/master/plugins/poll
|
||||
|
||||
load File.expand_path("../poll.rb", __FILE__)
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ describe Plugin::Metadata do
|
|||
# about: about: my plugin
|
||||
# version: 0.1
|
||||
# authors: Frank Zappa
|
||||
# url: http://discourse.org
|
||||
|
||||
some_ruby
|
||||
TEXT
|
||||
|
@ -17,6 +18,7 @@ TEXT
|
|||
expect(metadata.about).to eq("about: my plugin")
|
||||
expect(metadata.version).to eq("0.1")
|
||||
expect(metadata.authors).to eq("Frank Zappa")
|
||||
expect(metadata.url).to eq("http://discourse.org")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue