Some fixes
This commit is contained in:
parent
39ba18438c
commit
a251acec86
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
./.idea
|
||||||
|
*.xpi
|
6
Makefile
Normal file
6
Makefile
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
build-xpi:
|
||||||
|
rm -f postify.xpi
|
||||||
|
zip -r -FS ./postify.xpi * \
|
||||||
|
--exclude '*.git*' \
|
||||||
|
--exclude '*.php' \
|
||||||
|
--exclude '*.xpi'
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": "Postify",
|
"name": "Postify",
|
||||||
"version": "1.0",
|
"version": "1.0.6",
|
||||||
"description": "Post current url to external web-server.",
|
"description": "Post current url to external web-server.",
|
||||||
"icons": {
|
"icons": {
|
||||||
"48": "icons/postify-48.png"
|
"48": "icons/postify-48.png"
|
||||||
@ -17,7 +17,7 @@
|
|||||||
"notifications",
|
"notifications",
|
||||||
"storage",
|
"storage",
|
||||||
"webRequest",
|
"webRequest",
|
||||||
"<all_urls>"
|
"*://localhost/*"
|
||||||
],
|
],
|
||||||
"background": {
|
"background": {
|
||||||
"scripts": ["storage.js", "postify.js"]
|
"scripts": ["storage.js", "postify.js"]
|
||||||
|
16
options.js
16
options.js
@ -18,9 +18,9 @@ function setPatterns(patterns) {
|
|||||||
|
|
||||||
console.log('PATTERNS', patterns);
|
console.log('PATTERNS', patterns);
|
||||||
|
|
||||||
var reducer = (acc, item) => acc + PATTERN_ROW(item.server, item.pattern);
|
const reducer = (acc, item) => acc + PATTERN_ROW(item.server, item.pattern);
|
||||||
|
|
||||||
var html = patterns.reduce(reducer, '');
|
const html = patterns.reduce(reducer, '');
|
||||||
|
|
||||||
document.querySelector(".js-pattern-rows").innerHTML = html;
|
document.querySelector(".js-pattern-rows").innerHTML = html;
|
||||||
}
|
}
|
||||||
@ -35,8 +35,8 @@ function restoreOptions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function parseForm() {
|
function parseForm() {
|
||||||
var formData = [];
|
const formData = [];
|
||||||
var rows = document.querySelectorAll(".js-pattern-rows tr");
|
const rows = document.querySelectorAll(".js-pattern-rows tr");
|
||||||
rows.forEach(row => {
|
rows.forEach(row => {
|
||||||
var server = row.querySelector('[name="server"]').value;
|
var server = row.querySelector('[name="server"]').value;
|
||||||
var pattern = row.querySelector('[name="pattern"]').value;
|
var pattern = row.querySelector('[name="pattern"]').value;
|
||||||
@ -47,15 +47,15 @@ function parseForm() {
|
|||||||
|
|
||||||
function saveOptions(evt) {
|
function saveOptions(evt) {
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
var formData = parseForm();
|
const formData = parseForm();
|
||||||
var filter = item => item.server;
|
const filter = item => item.server;
|
||||||
var patterns = formData.filter(filter);
|
const patterns = formData.filter(filter);
|
||||||
PatternStorage.set(patterns);
|
PatternStorage.set(patterns);
|
||||||
}
|
}
|
||||||
|
|
||||||
function addRow(evt) {
|
function addRow(evt) {
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
var el = document.querySelector(".js-pattern-rows");
|
const el = document.querySelector(".js-pattern-rows");
|
||||||
el.innerHTML += PATTERN_ROW('', '');
|
el.innerHTML += PATTERN_ROW('', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
const APP_NAME = 'Postify';
|
const APP_NAME = 'Postify';
|
||||||
|
|
||||||
function sendUrlToServer(url, addr) {
|
function sendUrlToServer(url, addr) {
|
||||||
|
console.log('Send url to server', url, addr);
|
||||||
return fetch(addr, {
|
return fetch(addr, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
@ -34,7 +35,7 @@ function showNotification(url, addr) {
|
|||||||
|
|
||||||
function sendUrlToServers(url, patterns) {
|
function sendUrlToServers(url, patterns) {
|
||||||
patterns.forEach(item => {
|
patterns.forEach(item => {
|
||||||
var regex = new RegExp(item.pattern || '.*', 'i');
|
const regex = new RegExp(item.pattern || '.*', 'i');
|
||||||
if (regex.test(url) && item.server) {
|
if (regex.test(url) && item.server) {
|
||||||
sendUrlToServer(url, item.server).then(
|
sendUrlToServer(url, item.server).then(
|
||||||
() => showNotification(url, item.server),
|
() => showNotification(url, item.server),
|
||||||
|
15
readme.md
15
readme.md
@ -2,6 +2,21 @@
|
|||||||
|
|
||||||
Post current url to external http server.
|
Post current url to external http server.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
First, build xpi file
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make build-xpi
|
||||||
|
```
|
||||||
|
|
||||||
|
Next, change firefox extension signature preferences
|
||||||
|
|
||||||
|
* open `about:config`
|
||||||
|
* change `xpinstall.signatures.required` to `false`
|
||||||
|
|
||||||
|
Finally, install extension via "Install Add-on from a file".
|
||||||
|
|
||||||
## See also
|
## See also
|
||||||
|
|
||||||
* https://github.com/ibizaman/jsondispatch
|
* https://github.com/ibizaman/jsondispatch
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
function PropertyStorage(name) {
|
function PropertyStorage(name) {
|
||||||
parse = function (data) {
|
const parse = function (data) {
|
||||||
var propertyData = data[name];
|
const propertyData = data[name];
|
||||||
if (!propertyData) {
|
if (!propertyData) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -12,7 +12,7 @@ function PropertyStorage(name) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
this.get = function () {
|
this.get = function () {
|
||||||
var getting = browser.storage.local.get(name);
|
const getting = browser.storage.local.get(name);
|
||||||
return getting.then(parse);
|
return getting.then(parse);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user