2020-05-13 15:39:15 +00:00
|
|
|
local manifest = import 'core/manifest.libsonnet';
|
2020-01-17 04:09:20 +00:00
|
|
|
local icons() = {
|
2020-05-12 13:45:04 +00:00
|
|
|
[size]: 'rust.png'
|
|
|
|
for size in ['16', '48', '128']
|
2020-01-17 04:09:20 +00:00
|
|
|
};
|
2020-05-12 13:45:04 +00:00
|
|
|
local js_files(name, files) = ['%s/%s.js' % [name, file] for file in files];
|
2020-05-13 15:39:15 +00:00
|
|
|
|
|
|
|
local json = manifest.new(
|
|
|
|
name='Rust Search Extension',
|
|
|
|
version='0.10.0',
|
|
|
|
keyword='rs',
|
|
|
|
description='The ultimate search extension for Rust',
|
|
|
|
)
|
|
|
|
.addIcons(icons())
|
|
|
|
.addWebAccessibleResources('script/add-search-index.js')
|
|
|
|
.addBackgroundScript(
|
|
|
|
js_files('search', ['book', 'crate', 'attribute', 'lint']) +
|
|
|
|
js_files('search/docs', ['base', 'std', 'crate-doc']) +
|
|
|
|
js_files('index', ['books', 'crates', 'std-docs', 'lints', 'labels']) +
|
|
|
|
js_files('command', ['label'])
|
|
|
|
)
|
|
|
|
.addContentScript(
|
|
|
|
matches='*://docs.rs/*',
|
|
|
|
js=js_files('script', ['lib', 'docs-rs']) + js_files('libs', ['semver']),
|
|
|
|
css='script/docs-rs.css',
|
|
|
|
);
|
2020-01-16 12:30:14 +00:00
|
|
|
|
2020-05-12 13:45:04 +00:00
|
|
|
if std.extVar('browser') == 'firefox' then
|
2020-05-13 15:39:15 +00:00
|
|
|
json
|
2020-01-17 04:09:20 +00:00
|
|
|
else
|
2020-05-13 15:39:15 +00:00
|
|
|
json.appendContentSecurityPolicy(" script-src-elem 'self' https://rust-search-extension.now.sh/crates/index.js;")
|
2020-03-10 07:49:52 +00:00
|
|
|
+ {
|
2020-05-12 13:45:04 +00:00
|
|
|
description: 'A handy browser extension to search Rust docs and crates, etc in the address bar instantly!',
|
|
|
|
// The production extension public key to get the constant extension id during development.
|
|
|
|
key: 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxOX+QfzcFnxPwwmzXDhuU59XGCSMZq+FGo0vOx/ufg/Vw7HfKEPVb9TKzrGtqW38kafWkjxOxGhF7VyyX2ymi55W0xqf8BedePbvMtV6H1tY5bscJ0dLKGH/ZG4T4f645LgvOWOBgyv8s3NDWXzwOMS57ER1y+EtHjDsWD1M0nfe0VCCLW18QlAsNTHfLZk6lUeEeGXZrl6+jK+pZxwhQFmc8cJvOyw7uAq6IJ9lnGDvxFVjGUepA0lKbLuIZjN3p70mgVUIuBYzKE6R8HDk4oBbKAK0HyyKfnuAYbfwVYotHw4def+OW9uADSlZEDC10wwIpU9NoP3szh+vWSnk0QIDAQAB',
|
|
|
|
}
|