lvzhiqiang 6 yıl önce
ebeveyn
işleme
69e17894b9
3 değiştirilmiş dosya ile 507 ekleme ve 58 silme
  1. 459 15
      package-lock.json
  2. 7 6
      source/_posts/st-idea-advanced.md
  3. 41 37
      source/_posts/st-idea-basic.md

+ 459 - 15
package-lock.json

@@ -130,6 +130,115 @@
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
       "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
     },
+    "babel-code-frame": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+      "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+      "requires": {
+        "chalk": "^1.1.3",
+        "esutils": "^2.0.2",
+        "js-tokens": "^3.0.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+        }
+      }
+    },
+    "babel-eslint": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz",
+      "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=",
+      "requires": {
+        "babel-code-frame": "^6.22.0",
+        "babel-traverse": "^6.23.1",
+        "babel-types": "^6.23.0",
+        "babylon": "^6.17.0"
+      }
+    },
+    "babel-messages": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+      "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "requires": {
+        "core-js": "^2.4.0",
+        "regenerator-runtime": "^0.11.0"
+      },
+      "dependencies": {
+        "core-js": {
+          "version": "2.6.10",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
+          "integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA=="
+        }
+      }
+    },
+    "babel-traverse": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+      "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+      "requires": {
+        "babel-code-frame": "^6.26.0",
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "babylon": "^6.18.0",
+        "debug": "^2.6.8",
+        "globals": "^9.18.0",
+        "invariant": "^2.2.2",
+        "lodash": "^4.17.4"
+      }
+    },
+    "babel-types": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.4",
+        "to-fast-properties": "^1.0.3"
+      }
+    },
+    "babylon": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
+    },
     "balanced-match": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -666,6 +775,11 @@
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
     },
+    "esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+    },
     "etag": {
       "version": "1.8.1",
       "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
@@ -793,7 +907,8 @@
         },
         "ansi-regex": {
           "version": "2.1.1",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -811,11 +926,13 @@
         },
         "balanced-match": {
           "version": "1.0.0",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -828,15 +945,18 @@
         },
         "code-point-at": {
           "version": "1.1.0",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -939,7 +1059,8 @@
         },
         "inherits": {
           "version": "2.0.3",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -949,6 +1070,7 @@
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -961,17 +1083,20 @@
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
         },
         "minimist": {
           "version": "0.0.8",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.2.4",
           "bundled": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.1",
             "yallist": "^3.0.0"
@@ -988,6 +1113,7 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -1060,7 +1186,8 @@
         },
         "number-is-nan": {
           "version": "1.0.1",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -1070,6 +1197,7 @@
         "once": {
           "version": "1.4.0",
           "bundled": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -1145,7 +1273,8 @@
         },
         "safe-buffer": {
           "version": "5.1.1",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -1175,6 +1304,7 @@
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -1192,6 +1322,7 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -1230,11 +1361,13 @@
         },
         "wrappy": {
           "version": "1.0.2",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         },
         "yallist": {
           "version": "3.0.2",
-          "bundled": true
+          "bundled": true,
+          "optional": true
         }
       }
     },
@@ -1273,6 +1406,11 @@
         "is-glob": "^2.0.0"
       }
     },
+    "globals": {
+      "version": "9.18.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+      "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
+    },
     "graceful-fs": {
       "version": "4.1.15",
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
@@ -1431,6 +1569,114 @@
         }
       }
     },
+    "hexo-asset-image": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/hexo-asset-image/-/hexo-asset-image-0.0.3.tgz",
+      "integrity": "sha1-iOlRVnOBLwEG1z/grO3ZRPioplE=",
+      "requires": {
+        "cheerio": "^0.19.0"
+      },
+      "dependencies": {
+        "cheerio": {
+          "version": "0.19.0",
+          "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz",
+          "integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=",
+          "requires": {
+            "css-select": "~1.0.0",
+            "dom-serializer": "~0.1.0",
+            "entities": "~1.1.1",
+            "htmlparser2": "~3.8.1",
+            "lodash": "^3.2.0"
+          }
+        },
+        "css-select": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz",
+          "integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=",
+          "requires": {
+            "boolbase": "~1.0.0",
+            "css-what": "1.0",
+            "domutils": "1.4",
+            "nth-check": "~1.0.0"
+          }
+        },
+        "css-what": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz",
+          "integrity": "sha1-18wt9FGAZm+Z0rFEYmOUaeAPc2w="
+        },
+        "domhandler": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
+          "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
+          "requires": {
+            "domelementtype": "1"
+          }
+        },
+        "domutils": {
+          "version": "1.4.3",
+          "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz",
+          "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=",
+          "requires": {
+            "domelementtype": "1"
+          }
+        },
+        "htmlparser2": {
+          "version": "3.8.3",
+          "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
+          "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
+          "requires": {
+            "domelementtype": "1",
+            "domhandler": "2.3",
+            "domutils": "1.5",
+            "entities": "1.0",
+            "readable-stream": "1.1"
+          },
+          "dependencies": {
+            "domutils": {
+              "version": "1.5.1",
+              "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+              "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+              "requires": {
+                "dom-serializer": "0",
+                "domelementtype": "1"
+              }
+            },
+            "entities": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+              "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY="
+            }
+          }
+        },
+        "isarray": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+        },
+        "lodash": {
+          "version": "3.10.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
+        },
+        "readable-stream": {
+          "version": "1.1.14",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+          "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.1",
+            "isarray": "0.0.1",
+            "string_decoder": "~0.10.x"
+          }
+        },
+        "string_decoder": {
+          "version": "0.10.31",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+        }
+      }
+    },
     "hexo-bunyan": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/hexo-bunyan/-/hexo-bunyan-1.0.0.tgz",
@@ -1441,6 +1687,52 @@
         "safe-json-stringify": "~1"
       }
     },
+    "hexo-deployer-git": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/hexo-deployer-git/-/hexo-deployer-git-0.3.1.tgz",
+      "integrity": "sha512-JSwSmTSknGpaiooGXwmP7sAhoSNW3c+xmBiCc5yyrvRSfQ3zIYWjmcqNXSj8m2DmheqQNgt5D4M7quYjw+L6tA==",
+      "requires": {
+        "babel-eslint": "^7.2.1",
+        "bluebird": "^3.5.0",
+        "chalk": "^1.1.3",
+        "hexo-fs": "^0.2.0",
+        "hexo-util": "^0.6.0",
+        "moment": "^2.18.0",
+        "swig": "^1.4.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+          "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+          "requires": {
+            "ansi-regex": "^2.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+        }
+      }
+    },
     "hexo-front-matter": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-0.2.3.tgz",
@@ -1476,6 +1768,16 @@
         }
       }
     },
+    "hexo-generator-baidu-sitemap": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/hexo-generator-baidu-sitemap/-/hexo-generator-baidu-sitemap-0.1.6.tgz",
+      "integrity": "sha512-8AAqiuMp0MriVC8lFeFn4Y6O1dPvEo/YHxJWBdaEevoYyfCOtwdunk21XTcIHPHH9voWaKTuC0RJ1Cdaz8KifQ==",
+      "requires": {
+        "ejs": "^2.5.5",
+        "hexo": "^3.0.0",
+        "utils-merge": "^1.0.0"
+      }
+    },
     "hexo-generator-category": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/hexo-generator-category/-/hexo-generator-category-0.1.3.tgz",
@@ -1492,6 +1794,15 @@
         }
       }
     },
+    "hexo-generator-feed": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/hexo-generator-feed/-/hexo-generator-feed-1.2.2.tgz",
+      "integrity": "sha512-4jcvVhFgpEFRJ7A+KhBSfWoQaewRBjcVWEO4OmBgnvaZOm6XwK+b5ZXx/8BpujCLHbjXWzglXhiT7qFFS/nvzw==",
+      "requires": {
+        "nunjucks": "^3.0.0",
+        "object-assign": "^4.1.1"
+      }
+    },
     "hexo-generator-index": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-0.2.1.tgz",
@@ -1501,6 +1812,37 @@
         "object-assign": "^4.0.1"
       }
     },
+    "hexo-generator-search": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/hexo-generator-search/-/hexo-generator-search-2.4.0.tgz",
+      "integrity": "sha512-470q6Cpu6xHIPMXN+rQjCQkn/ii4e8XJRBXCmKs+B1jGQNrT7K3geqfyd5pqGiGi6bh5yY+mNqwGw5r2sZZtzA==",
+      "requires": {
+        "nunjucks": "^3.0.1",
+        "utils-merge": "^1.0.0"
+      }
+    },
+    "hexo-generator-sitemap": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/hexo-generator-sitemap/-/hexo-generator-sitemap-1.2.0.tgz",
+      "integrity": "sha1-MBj419Hi5Cs/caZacxb/z1g7w/M=",
+      "requires": {
+        "minimatch": "^3.0.0",
+        "nunjucks": "^2.3.0",
+        "object-assign": "^4.0.1"
+      },
+      "dependencies": {
+        "nunjucks": {
+          "version": "2.5.2",
+          "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-2.5.2.tgz",
+          "integrity": "sha1-6n00bnhbikh0Zmw8yp4YxXf7oiw=",
+          "requires": {
+            "asap": "^2.0.3",
+            "chokidar": "^1.6.0",
+            "yargs": "^3.32.0"
+          }
+        }
+      }
+    },
     "hexo-generator-tag": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/hexo-generator-tag/-/hexo-generator-tag-0.2.0.tgz",
@@ -1657,6 +1999,11 @@
         "striptags": "^2.1.1"
       }
     },
+    "hexo-wordcount": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/hexo-wordcount/-/hexo-wordcount-6.0.1.tgz",
+      "integrity": "sha512-tbo2P9xRWEKQmRf7+XuPjx9It1MnaE26nA+EEb2DN39gK1x+26W7Nm4Iyp4AugQjBWYYDx7OLn4gp1WFxQpQew=="
+    },
     "highlight.js": {
       "version": "9.13.1",
       "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz",
@@ -1719,6 +2066,14 @@
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
       "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
     },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
     "invert-kv": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
@@ -1870,6 +2225,11 @@
         "isarray": "1.0.0"
       }
     },
+    "js-tokens": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+    },
     "js-yaml": {
       "version": "3.12.0",
       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
@@ -1981,6 +2341,14 @@
       "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
       "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
     },
+    "loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "requires": {
+        "js-tokens": "^3.0.0 || ^4.0.0"
+      }
+    },
     "lower-case": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
@@ -2285,12 +2653,14 @@
         "array-unique": {
           "version": "0.3.2",
           "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-          "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+          "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+          "optional": true
         },
         "braces": {
           "version": "2.3.2",
           "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
           "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+          "optional": true,
           "requires": {
             "arr-flatten": "^1.1.0",
             "array-unique": "^0.3.2",
@@ -2308,6 +2678,7 @@
               "version": "2.0.1",
               "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
               "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+              "optional": true,
               "requires": {
                 "is-extendable": "^0.1.0"
               }
@@ -2467,6 +2838,7 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
           "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+          "optional": true,
           "requires": {
             "extend-shallow": "^2.0.1",
             "is-number": "^3.0.0",
@@ -2478,6 +2850,7 @@
               "version": "2.0.1",
               "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
               "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+              "optional": true,
               "requires": {
                 "is-extendable": "^0.1.0"
               }
@@ -2537,7 +2910,8 @@
         "is-extglob": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-          "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+          "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+          "optional": true
         },
         "is-glob": {
           "version": "4.0.0",
@@ -2552,6 +2926,7 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
           "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+          "optional": true,
           "requires": {
             "kind-of": "^3.0.2"
           },
@@ -2560,6 +2935,7 @@
               "version": "3.2.2",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
               "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+              "optional": true,
               "requires": {
                 "is-buffer": "^1.1.5"
               }
@@ -2569,12 +2945,14 @@
         "isobject": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+          "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+          "optional": true
         },
         "kind-of": {
           "version": "6.0.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+          "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+          "optional": true
         },
         "micromatch": {
           "version": "3.1.10",
@@ -3107,6 +3485,11 @@
         }
       }
     },
+    "regenerator-runtime": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+    },
     "regex-cache": {
       "version": "0.4.4",
       "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
@@ -3520,6 +3903,62 @@
         "has-flag": "^3.0.0"
       }
     },
+    "swig": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/swig/-/swig-1.4.2.tgz",
+      "integrity": "sha1-QIXKBFM2kQS11IPihBs5t64aq6U=",
+      "requires": {
+        "optimist": "~0.6",
+        "uglify-js": "~2.4"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+          "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
+        },
+        "source-map": {
+          "version": "0.1.34",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+          "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
+          "requires": {
+            "amdefine": ">=0.0.4"
+          }
+        },
+        "uglify-js": {
+          "version": "2.4.24",
+          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz",
+          "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
+          "requires": {
+            "async": "~0.2.6",
+            "source-map": "0.1.34",
+            "uglify-to-browserify": "~1.0.0",
+            "yargs": "~3.5.4"
+          }
+        },
+        "window-size": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+          "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
+        },
+        "wordwrap": {
+          "version": "0.0.2",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+          "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+        },
+        "yargs": {
+          "version": "3.5.4",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz",
+          "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
+          "requires": {
+            "camelcase": "^1.0.2",
+            "decamelize": "^1.0.0",
+            "window-size": "0.1.0",
+            "wordwrap": "0.0.2"
+          }
+        }
+      }
+    },
     "swig-extras": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/swig-extras/-/swig-extras-0.0.1.tgz",
@@ -3560,6 +3999,11 @@
       "resolved": "https://registry.npmjs.org/titlecase/-/titlecase-1.1.2.tgz",
       "integrity": "sha1-eBE9EQgIa4MmMxoyR96o9aSeqFM="
     },
+    "to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+    },
     "to-object-path": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",

+ 7 - 6
source/_posts/st-idea-advanced.md

@@ -20,16 +20,16 @@ tags:
 
 ## 简介
 
-- 对IDEA进一步的了解及使用
+对IDEA进一步的了解及使用
 
-## 快捷键设置介绍
+## 快捷键常用设置
 
-- 设置为 Eclipse 的快捷键
+- `设置为 Eclipse 的快捷键`
     ```
     1.Keymap下拉框选中"Eclipse"并应用
     2.如需在此快捷键模板上修改,则点击旁边齿轮->Duplicate来拷贝一份模板,并输入自己的命名
     ```
-- 筛选并修改快捷键
+- `筛选并修改快捷键`
     ```
     1.在搜索框输入快捷键描述内容							
     2.点击搜索框旁边图标并按下需要修改的快捷键							
@@ -39,12 +39,13 @@ tags:
     Add Abbreviation:根据IDEA的版本文档解释,添加简称主要是为了方便Search Everywhere中使用我设置的简称搜索
     Remove:移出当前操作命令(一个操作命令同时支持多个快捷键组合)已设置的快捷键组合,由于IDEA默认就占用了很多快捷键组合,所以如果你要修改某个快捷键,建议还是删除掉旧的
     ```
-- 导入已有的快捷键模板
+- `导入已有的快捷键模板`
     ```
     File–>import setttings–>选中本地的快捷键jar文件–>一路确认–>重启。
     IDEA默认快捷键的配置文件所在地:${IDEA_home}\lib\resources.jar\keymaps\*
     ```
-- 常用快捷键(Eclipse 版)
+
+## 常用快捷键(Eclipse 版)
 
 ### ***Ctrl***
 

+ 41 - 37
source/_posts/st-idea-basic.md

@@ -21,7 +21,7 @@ tags:
 
 ## 简介
 
-- JetBrains 公司介绍
+- `JetBrains 公司介绍`
     - 维基百科:
         >JetBrains 是一家**捷克**的软件开发公司,该公司位于捷克的布拉格,并在俄罗斯的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。
          
@@ -41,7 +41,7 @@ tags:
         GoLand:主要用于开发Go(区块链等)
         Android Studio:主要用于开发Android(Google基于IntelliJ IDEA社区版进行迭代所以也姑且算上)
         ```
-- Intellij IDEA 介绍
+- `Intellij IDEA 介绍`
     - 官网:<https://www.jetbrains.com/idea/>					
     - 新特性列表:<https://www.jetbrains.com/idea/whatsnew>
     - 详细使用文档:<https://www.jetbrains.com/help/idea/meet-intellij-idea.html>
@@ -51,7 +51,7 @@ tags:
         >简明翻译:IntelliJ IDEA主要用于支持Java、Scala、Groovy 等语言的开发工具,同时具备支持目前主流的技术和框架,擅长于企业应用、移动应用和Web应用的开发。
         
     - 如果用一句话来形容 IntelliJ IDEA,我会说:***IntelliJ IDEA 是目前所有 IDE 中最具备沉浸式的 JVM IDE,没有之一。***
-- IDEA 主要功能介绍
+- `IDEA 主要功能介绍`
 
 | 安装插件后支持 | SQL 类 | 基本JVM |
 |:------:|:------:|:------:|
@@ -75,7 +75,7 @@ tags:
 |Hibernate|||
 |Flex|||
 
-- IDEA 主要优势(相较于 Eclipse 而言)
+- `IDEA 主要优势(相较于 Eclipse 而言)`
     - 强大的整合能力,例如 Git、Maven、Spring 等工具和框架。
     - 提示功能的快速、便捷	。
     - 提示功能的范围广。
@@ -84,7 +84,7 @@ tags:
 
 ## 安装、基础环境介绍
 
-- Windows 下安装
+- `Windows 下安装`
     - 首次安装
         - IDEA 的安装是非常简单的,不需要做过多的选择,可以说简单到都是 Next 即可。
         - 中间会有个创建快捷图标,建议勾上,方便定位 IDEA 的安装目录;确让是否与 java,groovy,kt 文件关联,建议不勾选。
@@ -97,7 +97,7 @@ tags:
         - 从安装上来看,IDEA 对硬件的要求看上去不是很高,可是实际在开发中其实并不是这样的,因为 IDEA 执行时会有大量的缓存、索引文件。
         - 如果你正在使用 Eclipse/MyEclipse,想通过 IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。
         - 安迪-比尔定律:IT界三大定律之一(摩尔定律、反摩尔定律、安迪-比尔定律)。
-- 安装目录介绍
+- `安装目录介绍`
     ```
     bin:执行文件和启动参数等
       idea.exe:32位IDEA的启动文件,IDEA安装完默认发送到桌面的也就是这个执行文件的快捷方式
@@ -124,7 +124,7 @@ tags:
         idea.cycle.buffer.size=1024:该属性主要用于控制控制台输出缓存。有遇到一些项目开启很多输出,控制台很快就被刷满了没办法再自动输出后面内容,这种项目建议增大该值或是直接禁用掉,禁用语句(=disabled) 
     ```
     Tips:***强烈推荐使用 IDEA 菜单中的 `Help->Edit Custom VM Options`和`Help->Edit Custom Properties` 进行参数个性化配置;而不是直接修改安装目录中的该文件,因为 IDEA 升级/重装后可能会导致修改完全失效!***。
-- 设置目录介绍
+- `设置目录介绍`
     - IDEA 各种配置的保存目录。这个设置目录有一个特性,就是你**删除掉整个目录之后,重新启动 IDEA 会再自动帮你生成一个全新的默认配置**,所以很多时候如果你把 IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
     - config
         - IDEA 的个性化化配置目录,或者说是整个 IDE 设置目录,此目录可看成是最重要的目录,没有之一。安装新版本的 IDEA会 自动扫描硬盘上的旧配置目录,指的就是该目录。
@@ -132,7 +132,7 @@ tags:
     - system   
         - IDEA 的系统文件目录,是 IDEA 与开发项目之间的一个桥梁目录。
         - 这个目录主要记录了:**缓存、索引、容器文件输出等等**,虽然不是最重要目录,但是也是最不可或缺目录之一。
-- 首次运行向导
+- `首次运行向导`
     1. 是否导入已有设置
         - 首次启动后,会弹出对话框,选择不导入已有的设置。
     2. 激活
@@ -143,15 +143,15 @@ tags:
         
 ## 开始使用
 
-- 首次打开
-    - Create New Project:创建一个新的工程	
-    - Import Project:导入一个现有的工程。
-    - Open:打开一个已有工程,比如:可以打开 Eclipse 项目,但是由于两者 IDE 下的项目配置不一样,所以项目还是需要配置的
+- `首次打开`
+    - Create New Project:创建一个新的工程。
+    - Import Project:导入一个现有的工程。**适合导入本身不是idea工程**(包括Eclipse工程,Maven项目,Gradle项目或者直接从源代码创建工程)。
+    - Open:打开一个已有工程。**适合打开本身是idea工程**
     - Check out from Version Control:可以通过服务器上的项目地址 Checkout GitHub 上面项目或其他 Git 托管服务器上的项目。
-- 设置显示常见的视图
-    - `View->TooBar`,勾选工具条。
-    - `View->Tool Buttons`,勾选按钮组。
-- 创建工程
+- `设置显示常见的视图`
+    - View->Toolbar或**View-Appearance>Toolbar**,勾选工具条。
+    - View->Tool Buttons或**View-Appearance>Tool Window Bars**,勾选按钮组。
+- `创建工程`
     - 创建 Java Project/Module
         1. 选择指定目录下的 JDK 作为 Project/Module SDK。
         2. 可以勾选 `Create project from template` 根据模板快速创建项目,也可以不勾选手动创建。
@@ -181,16 +181,16 @@ tags:
             e.Code coverage
             f.Startup/Connection
             ```
-- 工程界面展示
+- `工程界面展示`
     - 工程下的 src 类似于 Eclipse 下的 src 目录,用于存放代码。
     - 工程下的 .idea(Project 的配置文件目录)和 .iml(Module 的配置文件)都是 IDEA 工程特有的,类似于 Eclipse 工程下的 .settings、.classpath、.project 等。
-- 创建 package 和 class
+- `创建 package 和 class`
     - 在 src 目录下创建一个 package,接着在包下 new-class,可以直接创建 `Class、Interface、Enum、Annotation` 等常见类型文件。
     - 然后在下拉框中选择创建的结构的类型,接着在类 HelloWorld 里声明主方法,输出 helloworld,完成测试。
     
     Tips1:**在没有文件的情况下包目录默认是连在一起的,不方便看目录层级关系,可点击 Project 窗口的齿轮处,在弹出的菜单中去掉 `Compact Empty Middle Packages`**。
     Tips2:**IDEA 是一个没有 Ctrl + S 的 IDE,所以每次修改完代码只要管着运行或者调试即可,无需担心保存或者丢失代码。**
-- 创建模块
+- `创建模块`
     - 在 Eclipse 中有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA 中只有 Project(工程)和 Module(模块)的概念。
         - <https://www.jetbrains.com/help/idea/migrating-from-eclipse-to-intellij-idea.html>
         ```
@@ -206,10 +206,10 @@ tags:
         - 目前主流的大型项目都是分布式部署的,结构都是类似这种多 Module 结构。这类项目一般是这样划分的,比如:core Module、web Module、plugin Module、solr Module 等等,模块之间彼此可以相互依赖。
         - 通过这些 Module 的命名也可以看出,他们之间都是处于同一个项目业务下的模块,彼此之间是有不可分割的业务关系的。
     - 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的结构 IDEA 也是支持的,并且 IDEA 创建项目的时候,默认就是单 Module 的结构的,此时 Project 目录和 Module 目录是同一个。
-- 删除模块
+- `删除模块`
     1. 选中相应的模块右键 `Open Module Setting`,点击减号,逻辑删除模块。
     2. 再次选中相应的模块右键 `Delete`,物理删除模块。
-- 查看/修改项目配置(`File->Project Structure`)
+- `查看/修改项目配置(File->Project Structure)`
     - Project
         ```
         Project name:项目名称
@@ -255,7 +255,7 @@ tags:
         
 ## 常用设置介绍
 通过 `File->Settings` 或者 `Ctrl+Alt+S` 进入。
-- Appearance & Behavior(外观和行为)
+- `Appearance & Behavior(外观和行为)`
     - **设置主题**
         ```
         Appearance,在'UI Options'中选择'Theme'的值
@@ -285,13 +285,13 @@ tags:
         ```
         System Settings->Updates,去掉'Automatically check updates for'选中
         ```
-- Keymap(快捷键)
+- `Keymap(快捷键)`
     - ***详见高级篇***
     - **设置基础代码提示、补充快捷键生效**
         ```
         搜索Basic,将Ctrl+空格改为Ctrl+,
         ```
-- Editor(编辑器)
+- `Editor(编辑器)`
     - **设置鼠标滚轮控制代码字体大小**
         ```
         General,在'Mouse'中勾选'Change font size with Ctrl+Mouse Wheel'
@@ -306,6 +306,10 @@ tags:
         ```
         General->Apperance,勾选'Show method separators'和'Show line numbers'
         ```
+    - **设置显示空格和Tab**
+        ```
+        General->Apperance,勾选'Show whitespaces'
+        ```
     - **设置忽略代码提示区分大小写**
         ```
         General->Code completion,去掉'Match case'选中
@@ -372,11 +376,11 @@ tags:
         ```
         File and Code Templates,在'Includes'中选择'File Header'修改
         ```
-- Plugins(插件)
+- `Plugins(插件)`
     - ***详见高级篇***
-- Version Control(版本控制)
+- `Version Control(版本控制)`
     - ***详见高级篇***
-- Build,Execution,Deployment(构建,执行,部署)
+- `Build,Execution,Deployment(构建,执行,部署)`
     - **设置自动编译(不建议,太耗资源)**
         ```
         Compiler,勾选'Build project automatically'和'Compile indepent modules in parallel'
@@ -386,7 +390,7 @@ tags:
         ------------------------------------------
         编译方式介绍(3种):
             Recompile:对选定的目标(Java类文件),进行强制性编译,不管目标是否是被修改过。
-            Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于Rebuild的目标只有Project,所以Rebuild每次花的时间会比较长。
+            Rebuild:对选定的目标(Project),进行强制性编译,不管目标是否是被修改过,由于Rebuild的目标是整个Project,所以Rebuild每次花的时间会比较长。
             Build(使用最多的编译操作):对选定的目标(Project或Module)进行编译,但只编译有修改过的文件,没有修改过的文件不会编译,这样平时开发大型项目才不会浪费时间在编译过程中。	
         ------------------------------------------
         编译器的设置和选择:			
@@ -412,8 +416,8 @@ tags:
             在远程终端中,找到对应的fatjar,执行"java -jar xxx.jar",便完成了整个部署流程。
         可考虑别一种方案:阿里Cloud Toolkit插件            
         ```
-- Languages & Frameworks(语言和框架)
-- Tools(工具集)
+- `Languages & Frameworks(语言和框架)`
+- `Tools(工具集)`
     - 设置默认浏览器
         ```
         Web Browsers,在'Default Browser'中选择'Custom path'并选择程序路径
@@ -430,12 +434,12 @@ tags:
 
 ## 其他设置介绍
 
-- 设置为省电模式
+- `设置为省电模式`
     ```
     File->Power Save Mode
         开启这种模式之后IDEA会关掉代码检查和代码提示等功能。所以一般也可认为这是一种阅读模式,如果你在开发过程中遇到突然代码文件不能进行检查和提示,可以来看看这里是否有开启该功能。
     ```
-- 清除缓存和索引
+- `清除缓存和索引`
     ```
     File->Invalidate Caches/Restart,一般建议点击'Invalidate and Restart',这样会比较干净,本质也就是去删除C盘下的system目录下的对应的文件而已
     -------------------------------------                          
@@ -444,27 +448,27 @@ tags:
     -------------------------------------    
     IDEA首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比;IDEA的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度
     ```
-- 设置 Project 项目的一些配置为模板
+- `设置 Project 项目的一些配置为模板`
     ```
     File->Other Settings->Setting for New Projects...
         对于默认编码、编译版本、Maven 本地库路径等等,可以被当做一个标准的IDE设置模板保存起来,下次打开新的Projec 就会以这个IDE设置进行
     ```
-- 自带模拟请求工具 Rest Client
+- `自带模拟请求工具 Rest Client`
     ```
     Tools->HTTP Client->Test RESTful web service,在开发时用来模拟请求是非常好用的
     ```
-- 生成 javadoc
+- `生成 javadoc`
     ```
     Tools->Generate JavaDoc,支持对project,module,file
         Locale(输入语言类型):zh_CN
         Other command line arguments:-encoding UTF-8 -charset UTF-8
     ```
-- 设置代码水平或垂直显示
+- `设置代码水平或垂直显示`
     ```
     文件tab页上,右键选择Split Vertically(垂直分屏)和Split Horizontally(水平分屏),可设置快捷键
         一般在对大文件进行修改的时候,有些修改内容在文件上面,有些内容在文件下面,如果来回操作可能效率会很低,用此方法就可以好很多
     ```
-- 设置代码检查等级
+- `设置代码检查等级`
     ```
     右下角图标。IDEA对于编辑大文件并没有太大优势,很卡,原因就是它有各种检查,这样是非常耗内存和CPU的,所以在编辑大文件的时候为了能加快大文件的读写,我一般会暂时性设置为None
         Inspections:为最高等级检查,可以检查单词拼写,语法错误,变量使用,方法之间调用等