diff options
author | Andrew Cady <d@jerkface.net> | 2020-06-20 16:11:18 -0400 |
---|---|---|
committer | Andrew Cady <d@jerkface.net> | 2020-06-20 16:11:18 -0400 |
commit | c6952d0744388d28f410c2a53d55390504052a08 (patch) | |
tree | 9ce0b5dc74faf5cdb9e89eac6be378733a2e01e3 | |
parent | 15afed2381caac4617e63080aafe0b50f4262921 (diff) |
add code snippets used to generate sideloading documentation
source and run 'jqs' in a profile directory
-rw-r--r-- | firefox-sideloader/cli.code.sh | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/firefox-sideloader/cli.code.sh b/firefox-sideloader/cli.code.sh new file mode 100644 index 0000000..a13a205 --- /dev/null +++ b/firefox-sideloader/cli.code.sh | |||
@@ -0,0 +1,69 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | JQ() | ||
4 | { | ||
5 | start_label "$1" | ||
6 | (exec < "${1/.lz4/.unused}" | ||
7 | shift | ||
8 | jq "$@") | ||
9 | end_label | ||
10 | } | ||
11 | |||
12 | JQpref() | ||
13 | { | ||
14 | pref=extensions.webextensions.uuids | ||
15 | val=$(get_user_pref "$pref" | jq -c "{ \"${extension_id}\" , }") | ||
16 | |||
17 | start_label "prefs.js" | ||
18 | printf 'user_pref("%s", "%q");\n' "$pref" "$val" | ||
19 | end_label | ||
20 | } | ||
21 | |||
22 | start_label() { printf '%s\n' "## $1" '```'; } | ||
23 | end_label() { echo '```'; } | ||
24 | |||
25 | blocky() | ||
26 | { | ||
27 | echo '```' | ||
28 | cat | ||
29 | echo '```' | ||
30 | } | ||
31 | |||
32 | get_user_pref() | ||
33 | { | ||
34 | local pref="$1" | ||
35 | sed -n 's/^user_pref("'"$pref"'", "\(.*\)");$/\1/p;' prefs.js | (read line; eval 'a="$line"'; echo "$a" | jq .) | ||
36 | } | ||
37 | |||
38 | get_uuid_json() | ||
39 | { | ||
40 | get_user_pref "extensions.webextensions.uuids" | ||
41 | } | ||
42 | |||
43 | jqs() | ||
44 | { | ||
45 | extension_id=extension@tabliss.io | ||
46 | |||
47 | JQ addonStartup.json.lz4 \ | ||
48 | '{"app-profile": {"addons": .["app-profile"].addons["'"${extension_id}"'"]}}' | ||
49 | |||
50 | (set -x; mozlz4 addonStartup.json.lz4 | jq -c '.["app-profile"]["addons"]["extension@tabliss.io"] | keys') 2>&1 | blocky | ||
51 | |||
52 | JQ extension-preferences.json \ | ||
53 | '{"extension@tabliss.io"}' | ||
54 | |||
55 | (set -x; jq -c '.["'"${extension_id}"'"] | keys' extension-preferences.json) 2>&1 | blocky | ||
56 | |||
57 | JQ extensions.json \ | ||
58 | '{ addons: [ .addons[] | select(.id == "'"${extension_id}"'") ] }' | ||
59 | |||
60 | (set -x; jq -c '.addons[] | select(.id == "'"${extension_id}"'") | keys' extensions.json) 2>&1 | blocky | ||
61 | |||
62 | JQ extension-settings.json \ | ||
63 | '.url_overrides.newTabURL.precedenceList[] | select(.id == "'"${extension_id}"'") | {url_overrides: {newTabURL: {precedenceList: .}}}' | ||
64 | |||
65 | (set -x; jq -c keys extension-settings.json) 2>&1 | blocky | ||
66 | |||
67 | JQpref | ||
68 | |||
69 | } | ||