├── ChromeExtension ├── .babelrc ├── .eslintrc.js ├── .gitignore ├── dist │ ├── background.js │ ├── favicon.ico │ ├── icon.png │ ├── index.html │ ├── js │ │ └── bundle.js │ └── manifest.json ├── package.json ├── src │ ├── App.js │ ├── App.scss │ ├── index.html │ └── index.js ├── webpack.config.js └── yarn.lock ├── Faas ├── .gitignore ├── index.js └── package.json └── README.md /ChromeExtension/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "targets": { 5 | "browsers": ["last 2 versions", "safari >= 7"] 6 | }, 7 | "modules": "commonjs", 8 | "debug": true, 9 | "include": ["transform-es2015-arrow-functions"], 10 | "exclude": ["transform-es2015-for-of"] 11 | }], 12 | "react" 13 | ], 14 | "plugins": [ 15 | "transform-runtime", 16 | "jsx-control-statements" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /ChromeExtension/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "extends": "airbnb", 3 | "rules": { 4 | "quotes": ["error", "single"], 5 | "semi": ["error", "never"], 6 | "no-console": ["off"], 7 | "react/jsx-filename-extension": ["off"], 8 | "import/extensions": ["off"], 9 | "no-undef": ["off"], 10 | "react/jsx-no-undef": ["off"], 11 | "class-methods-use-this": ["off"], 12 | } 13 | }; -------------------------------------------------------------------------------- /ChromeExtension/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | package-lock.json -------------------------------------------------------------------------------- /ChromeExtension/dist/background.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-undef */ 2 | chrome.browserAction.onClicked.addListener(() => { 3 | chrome.tabs.create({ 'url': 'chrome://newtab' }) 4 | }) -------------------------------------------------------------------------------- /ChromeExtension/dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vincedream/heyu/747828f8c1a439a06a48e0b3de59133029618130/ChromeExtension/dist/favicon.ico -------------------------------------------------------------------------------- /ChromeExtension/dist/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Vincedream/heyu/747828f8c1a439a06a48e0b3de59133029618130/ChromeExtension/dist/icon.png -------------------------------------------------------------------------------- /ChromeExtension/dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | New Tab 9 | 10 | 11 |
12 | 13 | -------------------------------------------------------------------------------- /ChromeExtension/dist/js/bundle.js: -------------------------------------------------------------------------------- 1 | !function(e){var t=window.webpackHotUpdate;window.webpackHotUpdate=function(e,n){!function(e,t){if(!x[e]||!w[e])return;for(var n in w[e]=!1,t)Object.prototype.hasOwnProperty.call(t,n)&&(m[n]=t[n]);0==--y&&0===g&&S()}(e,n),t&&t(e,n)};var n,r=!0,o="b4535c634d4139436a72",i=1e4,a={},l=[],u=[];function c(e){var t=C[e];if(!t)return P;var r=function(r){return t.hot.active?(C[r]?-1===C[r].parents.indexOf(e)&&C[r].parents.push(e):(l=[e],n=r),-1===t.children.indexOf(r)&&t.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),l=[]),P(r)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return P[e]},set:function(t){P[e]=t}}};for(var i in P)Object.prototype.hasOwnProperty.call(P,i)&&"e"!==i&&"t"!==i&&Object.defineProperty(r,i,o(i));return r.e=function(e){return"ready"===d&&p("prepare"),g++,P.e(e).then(t,function(e){throw t(),e});function t(){g--,"prepare"===d&&(b[e]||_(e),0===g&&0===y&&S())}},r.t=function(e,t){return 1&t&&(e=r(e)),P.t(e,-2&t)},r}function s(e){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:n!==e,active:!0,accept:function(e,n){if(void 0===e)t._selfAccepted=!0;else if("function"==typeof e)t._selfAccepted=e;else if("object"==typeof e)for(var r=0;r=0&&t._disposeHandlers.splice(n,1)},check:T,apply:E,status:function(e){if(!e)return d;f.push(e)},addStatusHandler:function(e){f.push(e)},removeStatusHandler:function(e){var t=f.indexOf(e);t>=0&&f.splice(t,1)},data:a[e]};return n=void 0,t}var f=[],d="idle";function p(e){d=e;for(var t=0;t0;){var o=r.pop(),i=o.id,a=o.chain;if((u=C[i])&&!u.hot._selfAccepted){if(u.hot._selfDeclined)return{type:"self-declined",chain:a,moduleId:i};if(u.hot._main)return{type:"unaccepted",chain:a,moduleId:i};for(var l=0;l ")),T.type){case"self-declined":t.onDeclined&&t.onDeclined(T),t.ignoreDeclined||(_=new Error("Aborted because of self decline: "+T.moduleId+O));break;case"declined":t.onDeclined&&t.onDeclined(T),t.ignoreDeclined||(_=new Error("Aborted because of declined dependency: "+T.moduleId+" in "+T.parentId+O));break;case"unaccepted":t.onUnaccepted&&t.onUnaccepted(T),t.ignoreUnaccepted||(_=new Error("Aborted because "+c+" is not accepted"+O));break;case"accepted":t.onAccepted&&t.onAccepted(T),S=!0;break;case"disposed":t.onDisposed&&t.onDisposed(T),E=!0;break;default:throw new Error("Unexception type "+T.type)}if(_)return p("abort"),Promise.reject(_);if(S)for(c in g[c]=m[c],f(y,T.outdatedModules),T.outdatedDependencies)Object.prototype.hasOwnProperty.call(T.outdatedDependencies,c)&&(h[c]||(h[c]=[]),f(h[c],T.outdatedDependencies[c]));E&&(f(y,[T.moduleId]),g[c]=b)}var N,R=[];for(r=0;r0;)if(c=D.pop(),u=C[c]){var U={},I=u.hot._disposeHandlers;for(i=0;i=0&&L.parents.splice(N,1))}}for(c in h)if(Object.prototype.hasOwnProperty.call(h,c)&&(u=C[c]))for(j=h[c],i=0;i=0&&u.children.splice(N,1);for(c in p("apply"),o=v,g)Object.prototype.hasOwnProperty.call(g,c)&&(e[c]=g[c]);var A=null;for(c in h)if(Object.prototype.hasOwnProperty.call(h,c)&&(u=C[c])){j=h[c];var F=[];for(r=0;r0?r:n)(e)}},function(e,t){e.exports={}},function(e,t,n){var r=n(11),o=n(69),i=n(25),a=n(18)("IE_PROTO"),l=function(){},u=function(){var e,t=n(37)("iframe"),r=i.length;for(t.style.display="none",n(74).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("