Initial code check-in

This commit is contained in:
Scott Wallace 2019-09-15 11:07:08 +01:00
commit bb3cdb413f
5 changed files with 108 additions and 0 deletions

23
.gitignore vendored Normal file
View file

@ -0,0 +1,23 @@
# See https://help.github.com/ignore-files/ for more about ignoring files.
# dependencies
/node_modules
# testing
/coverage
# production
/dist
# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
yarn.lock

4
.npmignore Normal file
View file

@ -0,0 +1,4 @@
src
node_modules
screenshot.png
yarn.lock

35
package.json Normal file
View file

@ -0,0 +1,35 @@
{
"name": "cerebro-genpw",
"version": "1.0.0",
"description": "Cerebro plugin to search using a Searx instance",
"license": "MIT",
"repository": "scottwallacesh/cerebro-genpw",
"author": {
"name": "Scott Wallace",
"email": "scott@wallace.sh",
"url": "https://scott.wallace.sh"
},
"engines": {
"node": ">=4"
},
"dependencies": {
"cerebro-tools": "^0.1.8",
"cerebro-ui": "^0.0.16"
},
"devDependencies": {
"cerebro-scripts": "0.0.25"
},
"main": "dist/index.js",
"keywords": [
"cerebro",
"cerebro-plugin",
"genpw"
],
"scripts": {
"start": "cerebro-scripts start",
"build": "cerebro-scripts build",
"test": "cerebro-scripts test",
"clear": "cerebro-scripts clear",
"prepublish": "yarn clear && yarn build"
}
}

BIN
src/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

46
src/index.js Normal file
View file

@ -0,0 +1,46 @@
const React = require('react');
const icon = require('./icon.png');
const KEYWORD = 'genpw';
const STRLEN = 16;
const mkstr = length => {
var result = '';
var characters =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@/?#$%&*()[]{},.!~';
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
const order = 10;
const generate = ({ term, actions, display }) => {
let regex = new RegExp('^' + KEYWORD + '\\s+([0-9]+)', 'i');
let match = term.match(regex);
if (match) {
var length = match[1];
} else {
var length = STRLEN;
}
var newstr = mkstr(length);
const result = {
icon,
order,
term,
title: 'Add the following ' + length + ' character random string to the clipboard',
subtitle: newstr,
onSelect: () => actions.copyToClipboard(newstr)
};
display(result);
};
module.exports = {
fn: generate
};