2020-01-16 12:30:14 +00:00
|
|
|
// jsonnet manifest.jsonnet --ext-str browser=chrome|firefox -o extension/manifest.json
|
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-01-16 12:30:14 +00:00
|
|
|
local manifest = {
|
2020-05-12 13:45:04 +00:00
|
|
|
manifest_version: 2,
|
|
|
|
name: 'Rust Search Extension',
|
|
|
|
description: 'The ultimate search extension for Rust',
|
|
|
|
version: '0.10.0',
|
|
|
|
icons: icons(),
|
|
|
|
browser_action: {
|
|
|
|
default_icon: $.icons,
|
|
|
|
default_popup: 'popup/index.html',
|
|
|
|
default_title: $.description,
|
|
|
|
},
|
|
|
|
content_security_policy: "script-src 'self'; object-src 'self';",
|
|
|
|
omnibox: {
|
|
|
|
keyword: 'rs',
|
|
|
|
},
|
|
|
|
web_accessible_resources: js_files('script', ['add-search-index']),
|
|
|
|
content_scripts: [{
|
|
|
|
matches: [
|
|
|
|
'*://docs.rs/*',
|
|
|
|
],
|
|
|
|
js: js_files('script', ['lib', 'docs-rs']) + js_files('libs', ['semver']),
|
|
|
|
css: ['script/docs-rs.css'],
|
|
|
|
run_at: 'document_start',
|
|
|
|
}],
|
|
|
|
background: {
|
|
|
|
scripts: ['compat.js', 'settings.js', 'deminifier.js'] +
|
|
|
|
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', ['base', 'history', 'label', 'manager']) +
|
|
|
|
['omnibox.js', 'main.js'],
|
|
|
|
},
|
|
|
|
permissions: [
|
|
|
|
'tabs',
|
|
|
|
],
|
|
|
|
appendContentSecurityPolicy(policy):: self + {
|
|
|
|
content_security_policy+: policy,
|
|
|
|
},
|
2020-01-16 12:30:14 +00:00
|
|
|
};
|
|
|
|
|
2020-05-12 13:45:04 +00:00
|
|
|
if std.extVar('browser') == 'firefox' then
|
2020-01-17 04:09:20 +00:00
|
|
|
manifest
|
|
|
|
else
|
2020-03-10 07:49:52 +00:00
|
|
|
manifest.appendContentSecurityPolicy(" script-src-elem 'self' https://rust-search-extension.now.sh/crates/index.js;")
|
|
|
|
+ {
|
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',
|
|
|
|
}
|