diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 5760be58..00000000
--- a/.editorconfig
+++ /dev/null
@@ -1,12 +0,0 @@
-# http://editorconfig.org
-root = true
-
-[*]
-indent_style = space
-indent_size = 2
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index 1c51ea39..00000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,33 +0,0 @@
-module.exports = {
- 'extends': [
- "eslint:recommended",
- "plugin:react/recommended"
- ],
- 'rules': {
- 'no-unused-vars': [2, {'vars': 'all', 'args': 'none'}],
- 'no-empty': [0],
- 'react/prop-types': [0],
- 'react/no-unescaped-entities': [0],
- 'no-useless-escape': [0],
- 'no-control-regex': [0]
- },
- 'env': {
- 'es6': true,
- 'node': true,
- 'browser': true
- },
- 'globals': {
- 'React': true,
- 'ReactDOM': true,
- 'Promise': true,
- 'd3': true,
- 'NProgress': true,
- 'ClipboardJS': true,
- 'PR': true,
- 'Mark': true
- },
- "parser": "babel-eslint",
- 'parserOptions': {
- 'sourceType': 'module'
- }
-};
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index a6cbc4a1..00000000
--- a/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-dist -diff
-assets -diff
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index dee8bfd4..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,31 +0,0 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
-#
-# If you find yourself ignoring temporary files generated by your text editor
-# or operating system, you probably want to add a global ignore instead:
-# git config --global core.excludesfile ~/.gitignore_global
-.DS_Store
-Thumbs.db
-.sass-cache
-.idea
-.vscode
-lib-cov
-*.seed
-*.log
-*.csv
-*.dat
-*.out
-*.pid
-*.gz
-
-pids
-logs
-results
-
-package-lock.json
-npm-debug.log
-node_modules
-docs/html
-app/css
-app/js
-app/images
-app/fonts
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 3a57bcbc..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-SAY NO TO SUICIDE PUBLIC LICENSE
-
-Version 1.0, September 2017
-
-https://github.com/unbug/snts
-
-Copyright (C) 2017 @unbug
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document.
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, MODIFICATION, AND DISTRIBUTION
-
- 1. You can do anything with the original copy,
- whenever, whatever, no limitation.
-
- 2. When you are in despair, just talk to someone you trust,
- someone you love. Getting help from your family, your friends,
- the police, the community, the public.
-
- 3. Keep yourself alive and say no to suicide.
-
diff --git a/README.md b/README.md
deleted file mode 100644
index c98b427f..00000000
--- a/README.md
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-Codelf(变量命名神器)
-=================
-Best GitHub stars, repositories tagger and organizer. Search over projects from Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project, GitLab to find real-world usage variable names.
-
- >There are only two hard things in Computer Science: cache invalidation and naming things.-- Phil Karlton
- >
- >
-
-WIKI
-=================
-[简体中文](https://github.com/unbug/codelf/wiki)
-
-Apps
-=================
-[Codelf Chrome App](https://chrome.google.com/webstore/detail/codelf-best-github-stars/jnmjaglhmmcplekpfnblniiammmdpaan)
-
-Plugins
-=================
-### Codelf for VS Code
-
-##### Install
- Codelf is on VS Code Extension Marketplace. Just search "codelf" on VS Code EXTENSIONS pane and click install.
-
-##### Usage
- 1. Select text, right-click and select "Codelf".
-
-
-
-### Codelf for Atom
-
-##### Install
- Codelf is [on Atom package](https://atom.io/packages/codelf). Search "codelf" on Atom setting pane and click install.Please see [Atom Packages in the Atom Flight Manual](http://flight-manual.atom.io/using-atom/sections/atom-packages/)
-
-##### Usage
- 1. Select text, right-click and click "Codelf".
- 2. Open Packages menu select "Codelf"
- 3. Press CTRL+ALT+E to open Codelf
-
-
-
- Also see [How to use Codelf on Atom](https://github.com/unbug/atom-codelf#usage)
-
-
-### Codelf for Sublime Text
-
-##### Install
- 1. [Download Codelf for Sublime](https://github.com/unbug/codelf/archive/st-0.0.5.zip) or [Select a "st-" version to download](https://github.com/unbug/codelf/tags)
- 2. Unzip and rename the folder to `Codelf`
- 3. Copy the folder into `Packages` directory, which you can find using the menu item `Sublime Text -> Preferences -> Browse Packages...`
- 4. Restart Sublime Text
-
-##### Usage
- 1. Select text, right-click and click "Codelf".
-
- 
- 2. Open Command Palette using menu item Tools -> Command Palette... --> Type "E" or "Codelf" -->Select "Search Selection" or "Search From Input"
-
- 
-
-
-
-Build
-=================
-1. install requirements run ```npm install```
-2. build and watch run ```gulp```
-
-Thanks
-=================
- * API powered by [searchcode](http://searchcode.com/) & [youdao](http://fanyi.youdao.com/)
- * UI powered by [Bootstrap v4.0](http://v4-alpha.getbootstrap.com/)
- * Syntax highlighting of source code powered by [google-code-prettify](https://github.com/google/code-prettify)
- * [Google Lovefield](https://github.com/google/lovefield)
- * [ZeroClipboard](https://github.com/zeroclipboard/zeroclipboard)
- * Utils - [generator-webappstarter](https://github.com/unbug/generator-webappstarter)
- * [Data Drive Management System](https://github.com/unbug/ddms)
-
-
-Programming naming convention
-=============================
- * [Google Style Guides](https://github.com/google/styleguide)
- * [The Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide)
- * [Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide)
- * CSS Architecture
- * [OOCSS](http://github.com/stubbornella/oocss/wiki) - Object Oriented CSS
- * [ACSS](https://www.lucidchart.com/techblog/2014/01/31/atomic-css-tool-set/) - Atomic CSS
- * [oCSS](http://krasimir.github.io/organic-css/) - organic cascade style sheet
- * [SMACSS](http://smacss.com/) - Scalable and Modular Architecture for CSS
- * [BEM](http://bem.info/) [getbem](http://getbem.com/) - Block, Element, Modifier
- * [evolve CSS](http://www.evolvecss.com/) - A Sass-based CSS architecture style guide
-
-
-Find me
-=================
- * Twitter [@unbug](https://twitter.com/unbug)
- * 微博 [@听奏](http://weibo.com/unbug)
-
-Videos
-===============
-[](https://youtu.be/Uqg8HWaa-2c)
-
-Screenshots
-================
-
-
-
-
-
-
-
-
-
diff --git a/app/index.html b/app/index.html
deleted file mode 100644
index f4f1b698..00000000
--- a/app/index.html
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
s&&(s=i(n+s,0)),l(a,r(t,3),s)}},function(o,t,e){var n=e(285);o.exports=function(e){return e&&e.length?n(e):[]}},function(s,t,e){var n=e(594),r=e(89),o=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,l=/[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]/g;s.exports=function(e){return(e=r(e))&&e.replace(o,n).replace(l,"")}},function(s,t,e){var n=e(145),r=e(91),o=e(285),l=e(109),a=r(function(e){return o(n(e,1,l,!0))});s.exports=a},function(a,t,e){var s=e(615),r=e(283),o=e(284);a.exports=function(a,l,i){return l=r(l),void 0===i?(i=l,l=0):i=r(i),a=o(a),s(a,l,i)}},function(r,ee,e){"use strict";(function(e){function te(e){return e&&"[object Function]"==={}.toString.call(e)}function ne(r,t){if(1!==r.nodeType)return[];var e=r.ownerDocument.defaultView.getComputedStyle(r,null);return t?e[t]:e}function re(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function oe(a){if(!a)return document.body;switch(a.nodeName){case"HTML":case"BODY":return a.ownerDocument.body;case"#document":return a.body;}var t=ne(a),e=t.overflow,n=t.overflowX,r=t.overflowY;return /(auto|scroll|overlay)/.test(e+r+n)?a:oe(re(a))}function c(e){return e&&e.referenceNode?e.referenceNode:e}function a(e){return 11===e?r:10===e?o:r||o}function ae(o){if(!o)return document.documentElement;for(var s=a(10)?document.body:null,e=o.offsetParent||null;e===s&&o.nextElementSibling;)e=(o=o.nextElementSibling).offsetParent;var l=e&&e.nodeName;return l&&"BODY"!==l&&"HTML"!==l?-1!==["TH","TD","TABLE"].indexOf(e.nodeName)&&"static"===ne(e,"position")?ae(e):e:o?o.ownerDocument.documentElement:document.documentElement}function p(e){return null===e.parentNode?e:p(e.parentNode)}function se(l,t){if(!(l&&l.nodeType&&t&&t.nodeType))return document.documentElement;var e=l.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=e?l:t,r=e?t:l,o=document.createRange();o.setStart(n,0),o.setEnd(r,0);var i=o.commonAncestorContainer,c,d;if(l!==i&&t!==i||n.contains(r))return"BODY"===(d=(c=i).nodeName)||"HTML"!==d&&ae(c.firstElementChild)!==c?ae(i):i;var f=p(l);return f.host?se(f.host,t):se(l,p(t).host)}function s(a){var t=1 a||d!=d?o*(1/0):o*d}},function(a,t,e){var n=e(3),s=Math.abs;n(n.S,"Math",{hypot:function hypot(){for(var e=0,t=0,o=arguments.length,l=0,p,d;t =e.length){var i=o(n,e[l]);if(!(t||e[l]in n))throw new b("base intrinsic for "+s+" exists, but the property is not available.");n=i?i.get||i.value:n[e[l]]}else n=n[e[l]];return n}},function(a,t,s){"use strict";(function(t){function e(n){return(e="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return _typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof(e)})(n)}var n=t.Symbol,o=s(650);a.exports=function(){return"function"==typeof n&&"function"==typeof Symbol&&"symbol"===e(n("foo"))&&"symbol"===e(Symbol("bar"))&&o()}}).call(this,s(131))},function(e){"use strict";function a(e){return(a="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return _typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof(e)})(e)}e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"===a(Symbol.iterator))return!0;var r={},t=Symbol("test"),s=Object(t);if("string"==typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(s))return!1;for(t in r[t]=42,r)return!1;if("function"==typeof Object.keys&&0!==Object.keys(r).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(r).length)return!1;var n=Object.getOwnPropertySymbols(r);if(1!==n.length||n[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(r,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(r,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},function(l,t,e){"use strict";var p=e(201).supportsDescriptors,r=e(296),o=Object.getOwnPropertyDescriptor,i=Object.defineProperty,a=TypeError,d=Object.getPrototypeOf,c=/a/;l.exports=function(){if(!p||!d)throw new a("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var s=r(),t=d(c),e=o(t,"flags");return e&&e.get===s||i(t,"flags",{configurable:!0,enumerable:!1,get:s}),s}},function(e){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return _typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof(e)})(e)}var s=Date.prototype.getDay,o=Object.prototype.toString,l="function"==typeof Symbol&&"symbol"===n(Symbol.toStringTag);e.exports=function(e){return"object"===n(e)&&null!==e&&(l?function(e){try{return s.call(e),!0}catch(e){return!1}}(e):"[object Date]"===o.call(e))}},function(p,t,e){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==_typeof(Symbol.iterator)?function(e){return _typeof(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof(e)})(e)}function d(e){return e&&e.__esModule?e:{default:e}}function u(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function c(r,t){if(!r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&("object"===n(t)||"function"==typeof t)?t:r}function s(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+n(t));r.prototype=Object.create(t&&t.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(r,t):r.__proto__=t)}function l(o){var a=[];return{on:function on(e){a.push(e)},off:function off(n){a=a.filter(function(t){return t!==n})},get:function get(){return o},set:function set(e,t){o=e,a.forEach(function(n){return n(o,t)})}}}t.__esModule=!0;var f=e(0),o=(d(f),d(e(8))),i=d(e(654));d(e(655)),t["default"]=function(a,d){var e="__create-react-context-"+(0,i["default"])()+"__",t=function(p){function t(){var n,s;u(this,t);for(var d=arguments.length,o=Array(d),i=0;is(a.top)||"bottom"===n&&s(o.top)s(e.right),c=s(o.top)s(e.bottom),u="left"===n&&i||"right"===n&&p||"top"===n&&c||"bottom"===n&&d,f=-1!==["top","bottom"].indexOf(n),h=!!k.flipVariations&&(f&&"start"===P&&i||f&&"end"===P&&p||!f&&"start"===P&&c||!f&&"end"===P&&d),g=!!k.flipVariationsByContent&&(f&&"start"===P&&p||f&&"end"===P&&i||!f&&"start"===P&&d||!f&&"end"===P&&c),m=h||g;(l||u||m)&&(E.flipped=!0,(l||u)&&(n=O[r+1]),m&&(P=function(e){return"end"===e?"start":"start"===e?"end":e}(P)),E.placement=n+(P?"-"+P:""),E.offsets.popper=_({},E.offsets.popper,A(E.instance.popper,E.offsets.reference,E.placement)),E=N(E.instance.modifiers,E,"flip"))}),E},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function fn(s){var t=s.placement,e=t.split("-")[0],n=s.offsets,r=n.popper,o=n.reference,l=-1!==["left","right"].indexOf(e),a=-1===["top","left"].indexOf(e);return r[l?"left":"top"]=o[e]-(a?r[l?"width":"height"]:0),s.placement=C(t),s.offsets.popper=ie(r),s}},hide:{order:800,enabled:!0,fn:function fn(r){if(!z(r.instance.modifiers,"hide","preventOverflow"))return r;var t=r.offsets.reference,e=I(r.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottome?-1:1):e==e?e:0:0===e?e:0}},function(l,t,e){var p=e(36),r=e(108),o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,d=/^0o[0-7]+$/i,c=parseInt;l.exports=function(s){if("number"==typeof s)return s;if(r(s))return NaN;if(p(s)){var l="function"==typeof s.valueOf?s.valueOf():s;s=p(l)?l+"":l}if("string"!=typeof s)return 0===s?s:+s;s=s.replace(o,"");var e=a.test(s);return e||d.test(s)?c(s.slice(2),e?2:8):i.test(s)?NaN:+s}},function(s,t,e){var n=e(134),r=e(143),o=e(191),l=e(135),a=e(605),i=e(136);s.exports=function(c,t,e){var u=-1,b=r,x=c.length,f=!0,_=[],h=_;if(e)f=!1,b=o;else if(200<=x){var E=t?null:a(c);if(E)return i(E);f=!1,b=l,h=new n}else h=t?[]:_;t:for(;++u1/[1].indexOf(1,-0);n(n.P+n.F*(l||!e(38)(o)),"Array",{indexOf:function indexOf(e){return l?o.apply(this,arguments)||0:r(this,e,arguments[1])}})},function(s,t,e){"use strict";var n=e(3),l=e(35),o=e(44),i=e(21),a=[].lastIndexOf,p=!!a&&0>1/[1].lastIndexOf(1,-0);n(n.P+n.F*(p||!e(38)(a)),"Array",{lastIndexOf:function lastIndexOf(s){if(p)return a.apply(this,arguments)||0;var t=l(this),e=i(t.length),n=e-1;for(1