diff --git a/.gitignore b/.gitignore index 063b0e4..a86f202 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ db.json *.log node_modules/ public/ -.deploy*/ \ No newline at end of file +.deploy*/ +.SynologyWorkingDirectory/ +.SynologyWorkingDirectory/* +nohup.out diff --git a/.travis.yml b/.travis.yml index 35131a5..697c688 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,14 +5,23 @@ node_js: cache: npm branches: only: - - master # build master branch only + - hexo # build hexo branch only script: - hexo generate # generate static files + - wget -q http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64 + - chmod +x ./ossutil64 + - ./ossutil64 config -e oss-cn-hangzhou.aliyuncs.com -i ${aliyunID} -k ${aliyunKey} -L CH + - echo y | ./ossutil64 rm oss://${ossName}/ -r + - ./ossutil64 cp -r public/ oss://${ossName}/ + - cp CNAME public/ + - curl https://sc.ftqq.com/${ftqq_TOKEN}.send?text=Blog+Build+Succeed + deploy: provider: pages skip-cleanup: true github-token: $GH_TOKEN keep-history: true + target_branch: master on: - branch: master + branch: hexo local-dir: public \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..02d2f07 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +blog.qianlicao.cn \ No newline at end of file diff --git a/_config.yml b/_config.yml index 9400e2f..233b11e 100644 --- a/_config.yml +++ b/_config.yml @@ -15,7 +15,7 @@ timezone: '' ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://yoursite.com root: / -permalink: :year/:month/:day/:title/ +permalink: :title/index.html permalink_defaults: pretty_urls: trailing_index: true # Set to false to remove trailing 'index.html' from permalinks diff --git a/files/images/Rvalue/8c8b4ec2e7244fd09093564411ea617d.png b/files/images/Rvalue/8c8b4ec2e7244fd09093564411ea617d.png new file mode 100644 index 0000000..59b4f5a Binary files /dev/null and b/files/images/Rvalue/8c8b4ec2e7244fd09093564411ea617d.png differ diff --git a/files/images/Rvalue/9429bc800a474ff3abaf8059852ea8c0.png b/files/images/Rvalue/9429bc800a474ff3abaf8059852ea8c0.png new file mode 100644 index 0000000..9c88531 Binary files /dev/null and b/files/images/Rvalue/9429bc800a474ff3abaf8059852ea8c0.png differ diff --git a/files/images/Rvalue/a36f1bdab2754cfd9f4302d7baf8260a.png b/files/images/Rvalue/a36f1bdab2754cfd9f4302d7baf8260a.png new file mode 100644 index 0000000..dbdf674 Binary files /dev/null and b/files/images/Rvalue/a36f1bdab2754cfd9f4302d7baf8260a.png differ diff --git a/files/images/Rvalue/a3eab4dbad544100817935291f147b9b.png b/files/images/Rvalue/a3eab4dbad544100817935291f147b9b.png new file mode 100644 index 0000000..a98de16 Binary files /dev/null and b/files/images/Rvalue/a3eab4dbad544100817935291f147b9b.png differ diff --git a/files/images/hello-world/fighting.jpg b/files/images/hello-world/fighting.jpg new file mode 100644 index 0000000..320defd Binary files /dev/null and b/files/images/hello-world/fighting.jpg differ diff --git a/package-lock.json b/package-lock.json index 388afac..d388b39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,13 +6,13 @@ "dependencies": { "@types/color-name": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1588199606687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz", - "integrity": "sha1-HBJhu+qhCoBVu8XYq4S3sq/IRqA=" + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" }, "JSONStream": { "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/JSONStream/download/JSONStream-1.3.5.tgz", - "integrity": "sha1-MgjB8I06TZkmGrZPkjArwV4RHKA=", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "requires": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -20,13 +20,13 @@ }, "a-sync-waterfall": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/a-sync-waterfall/download/a-sync-waterfall-1.0.1.tgz", - "integrity": "sha1-dba2qnJZi0l6El56J3DxT0yKH6c=" + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" }, "abbrev": { "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=" + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.7", @@ -39,12 +39,12 @@ }, "acorn": { "version": "7.2.0", - "resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.2.0.tgz", - "integrity": "sha1-F+p+QNfIZA/1SmlMiJwm8xcE7/4=" + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==" }, "align-text": { "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/align-text/download/align-text-0.1.4.tgz", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { "kind-of": "^3.0.2", @@ -59,13 +59,13 @@ }, "ansi-regex": { "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-5.0.0.tgz?cache=0&sync_timestamp=1570188663907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.0.tgz", - "integrity": "sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U=" + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "ansi-styles": { "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-4.2.1.tgz", - "integrity": "sha1-kK51xCTQCNJiTFvynq0xd+v881k=", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "requires": { "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" @@ -73,8 +73,8 @@ }, "anymatch": { "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.1.tgz", - "integrity": "sha1-xV7PAhheJGklk5kxDBc84xIzsUI=", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -82,25 +82,25 @@ }, "archy": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/archy/download/archy-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Farchy%2Fdownload%2Farchy-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" }, "argparse": { "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" } }, "asap": { "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/asap/download/asap-2.0.6.tgz", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "async": { "version": "0.2.10", - "resolved": "https://registry.npm.taobao.org/async/download/async-0.2.10.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" }, "atob": { @@ -123,8 +123,8 @@ }, "binary-extensions": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.0.0.tgz", - "integrity": "sha1-I8DfFPaogHf1+YbA0WfsA8PVU3w=" + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" }, "bluebird": { "version": "3.7.2", @@ -142,8 +142,8 @@ }, "braces": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { "fill-range": "^7.0.1" } @@ -155,8 +155,8 @@ }, "camel-case": { "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-4.1.1.tgz", - "integrity": "sha1-H8QchU8A4vfQE53+uhVC1olv5Uc=", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", + "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", "requires": { "pascal-case": "^3.1.1", "tslib": "^1.10.0" @@ -164,12 +164,12 @@ }, "camelcase": { "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" }, "center-align": { "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/center-align/download/center-align-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { "align-text": "^0.1.3", @@ -178,8 +178,8 @@ }, "chalk": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-3.0.0.tgz?cache=0&sync_timestamp=1587903555545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-3.0.0.tgz", - "integrity": "sha1-P3PCv1JlkfV0zEksUeJFY0n4ROQ=", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -187,8 +187,8 @@ }, "chokidar": { "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/chokidar/download/chokidar-3.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchokidar%2Fdownload%2Fchokidar-3.4.0.tgz", - "integrity": "sha1-swYRQjzjdjV8dlubj5BLn7o8C+g=", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", @@ -202,8 +202,8 @@ }, "clipboard": { "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/clipboard/download/clipboard-2.0.6.tgz", - "integrity": "sha1-UpISlu7A/fd+rRdJQhshyWhkc3Y=", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", "optional": true, "requires": { "good-listener": "^1.2.2", @@ -213,7 +213,7 @@ }, "cliui": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { "center-align": "^0.1.1", @@ -223,33 +223,33 @@ "dependencies": { "wordwrap": { "version": "0.0.2", - "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" } } }, "color-convert": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { "color-name": "~1.1.4" } }, "color-name": { "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "command-exists": { "version": "1.2.9", - "resolved": "https://registry.npm.taobao.org/command-exists/download/command-exists-1.2.9.tgz", - "integrity": "sha1-xQclrzgIyKsCYP1gsB+/oluVT2k=" + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" }, "commander": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-3.0.2.tgz", - "integrity": "sha1-aDfD+2d62ZM9HPukLdFNURfWs54=" + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==" }, "compressible": { "version": "2.0.18", @@ -321,8 +321,8 @@ }, "cross-spawn": { "version": "7.0.2", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.2.tgz", - "integrity": "sha1-0Nfc+nTokRXHYZ9PchqU4f23FtY=", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz", + "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==", "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -354,8 +354,8 @@ }, "cuid": { "version": "2.1.8", - "resolved": "https://registry.npm.taobao.org/cuid/download/cuid-2.1.8.tgz", - "integrity": "sha1-y7iPlUFx4NV0dgbAE5+2XFEB6sA=" + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==" }, "debug": { "version": "4.1.1", @@ -367,7 +367,7 @@ }, "decamelize": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { @@ -377,13 +377,13 @@ }, "deepmerge": { "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-4.2.2.tgz", - "integrity": "sha1-RNLqNnm49NT/ujPwPYZfwee/SVU=" + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" }, "delegate": { "version": "3.2.0", - "resolved": "https://registry.npm.taobao.org/delegate/download/delegate-3.2.0.tgz", - "integrity": "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY=", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", "optional": true }, "depd": { @@ -398,8 +398,8 @@ }, "dom-serializer": { "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1589067464639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "requires": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -407,21 +407,21 @@ }, "domelementtype": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/domelementtype/download/domelementtype-2.0.1.tgz", - "integrity": "sha1-H4vf6R9aeAYydOgDtL3O326U+U0=" + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" }, "domhandler": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/domhandler/download/domhandler-3.0.0.tgz?cache=0&sync_timestamp=1564708909977&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomhandler%2Fdownload%2Fdomhandler-3.0.0.tgz", - "integrity": "sha1-Uc0T78ox2pW7sMW+46SDAOMzs+k=", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.0.0.tgz", + "integrity": "sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==", "requires": { "domelementtype": "^2.0.1" } }, "domutils": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/domutils/download/domutils-2.1.0.tgz", - "integrity": "sha1-et4yAa9DcD/eFUlS46ho60tjXxY=", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.1.0.tgz", + "integrity": "sha512-CD9M0Dm1iaHfQ1R/TI+z3/JWp/pgub0j4jIQKH89ARR4ATAV2nbaOQS5XxU9maJP5jHaPdDDQSEHuE2UmpUTKg==", "requires": { "dom-serializer": "^0.2.1", "domelementtype": "^2.0.1", @@ -445,8 +445,8 @@ }, "entities": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/entities/download/entities-2.0.2.tgz", - "integrity": "sha1-rHTbC7qNM4CLvzaAnDpcNoNTFDY=" + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.2.tgz", + "integrity": "sha512-dmD3AvJQBUjKpcNkoqr+x+IF0SdRtPz9Vk0uTy4yWqga9ibB6s4v++QFWNohjiUGoMlF552ZvNyXDxz5iW0qmw==" }, "escape-html": { "version": "1.0.3", @@ -460,8 +460,8 @@ }, "esprima": { "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "etag": { "version": "1.8.1", @@ -470,8 +470,8 @@ }, "fill-range": { "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { "to-regex-range": "^5.0.1" } @@ -517,13 +517,13 @@ }, "fsevents": { "version": "2.1.3", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.1.3.tgz", - "integrity": "sha1-+3OHA66NL5/pAMM4Nt3r7ouX8j4=", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", "optional": true }, "glob": { "version": "6.0.4", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-6.0.4.tgz?cache=0&sync_timestamp=1587903587792&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fglob%2Fdownload%2Fglob-6.0.4.tgz", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "optional": true, "requires": { @@ -536,15 +536,15 @@ }, "glob-parent": { "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/glob-parent/download/glob-parent-5.1.1.tgz", - "integrity": "sha1-tsHvQXxOVmPqSY8cRa+saRa7wik=", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "requires": { "is-glob": "^4.0.1" } }, "good-listener": { "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/good-listener/download/good-listener-1.2.2.tgz", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", "optional": true, "requires": { @@ -553,18 +553,18 @@ }, "graceful-fs": { "version": "4.2.4", - "resolved": "https://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.2.4.tgz?cache=0&sync_timestamp=1588086876757&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.4.tgz", - "integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs=" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "has-flag": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=" + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "hexo": { "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/hexo/download/hexo-4.2.1.tgz", - "integrity": "sha1-KqHUQosK3iO6w09Uajh7NkMt2Bw=", + "resolved": "https://registry.npmjs.org/hexo/-/hexo-4.2.1.tgz", + "integrity": "sha512-V7kJsL4m2HM0Czm0j0ZDLJWxv5OJvbpTWgk0cCKcvHg2Dd/SVgtyLI+ygoPPrMipTquxii6waF5l44Op0bMEEQ==", "requires": { "abbrev": "^1.1.1", "archy": "^1.0.0", @@ -596,34 +596,34 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" } }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "hexo-cli": { "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/hexo-cli/download/hexo-cli-3.1.0.tgz", - "integrity": "sha1-p0FNRkczP+c3Yvhtd+VmBlnA0Fs=", + "resolved": "https://registry.npmjs.org/hexo-cli/-/hexo-cli-3.1.0.tgz", + "integrity": "sha512-Rc2gX2DlsALaFBbfk1XYx2XmeVAX+C7Dxc7UwETZOcu3cbGsf2DpwYTfKQumW3jagi1icA4KgW9aSRPPZZj/zg==", "requires": { "abbrev": "^1.1.1", "acorn": "^7.0.0", @@ -640,8 +640,8 @@ "dependencies": { "chalk": { "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1587903555545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -652,8 +652,8 @@ }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "^3.0.0" } @@ -662,8 +662,8 @@ }, "hexo-bunyan": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/hexo-bunyan/download/hexo-bunyan-2.0.0.tgz", - "integrity": "sha1-Ag16URBMx/5Q35AFAgw1msUEMJ4=", + "resolved": "https://registry.npmjs.org/hexo-bunyan/-/hexo-bunyan-2.0.0.tgz", + "integrity": "sha512-5XHYu/yJOgPFTC0AaEgFtPPaBJU4jC7R10tITJwTRJk7K93rgSpRV8jF3e0PPlPwXd4FphTawjljH5R8LjmtpQ==", "requires": { "moment": "^2.10.6", "mv": "~2", @@ -672,16 +672,16 @@ }, "hexo-front-matter": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hexo-front-matter/download/hexo-front-matter-1.0.0.tgz", - "integrity": "sha1-C0ixwe0UPoyyWzsiOpA3OF2RBlU=", + "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-1.0.0.tgz", + "integrity": "sha512-Hn8IIzgWWnxYTekrjnA0rxwWMoQHifyrxKMqVibmFaRKf4AQ2V6Xo13Jiso6CDwYfS+OdA41QS5DG1Y+QXA5gw==", "requires": { "js-yaml": "^3.13.1" } }, "hexo-fs": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/hexo-fs/download/hexo-fs-2.0.1.tgz", - "integrity": "sha1-q73K3sBnqDJtFLSOEBk1zxpPSOk=", + "resolved": "https://registry.npmjs.org/hexo-fs/-/hexo-fs-2.0.1.tgz", + "integrity": "sha512-IgAhdjYN3GCluy2MSeeX+F/RkyVsjjzZO7Bbhj3aYoSBqcJhJsR1Nz+Powp26siQPuIFLNNYjqmfPbVg2vg+Mg==", "requires": { "bluebird": "^3.5.1", "chokidar": "^3.0.0", @@ -691,8 +691,8 @@ "dependencies": { "escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-2.0.0.tgz", - "integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=" + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" } } }, @@ -730,16 +730,16 @@ }, "hexo-i18n": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hexo-i18n/download/hexo-i18n-1.0.0.tgz", - "integrity": "sha1-eYP7OjE+kGFbhN2PqUanHEie9b0=", + "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-1.0.0.tgz", + "integrity": "sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg==", "requires": { "sprintf-js": "^1.0.3" } }, "hexo-log": { "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hexo-log/download/hexo-log-1.0.0.tgz", - "integrity": "sha1-bw054OnnawSkYXskLD4QHVxCg8c=", + "resolved": "https://registry.npmjs.org/hexo-log/-/hexo-log-1.0.0.tgz", + "integrity": "sha512-XlPzRtnsdrUfTSkLJPACQgWByybB56E79H8xIjGWj0GL+J/VqENsgc+GER0ytFwrP/6YKCerXdaUWOYMcv6aiA==", "requires": { "chalk": "^2.4.1", "hexo-bunyan": "^2.0.0" @@ -747,16 +747,16 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" } }, "chalk": { "version": "2.4.2", - "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1587903555545&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -765,26 +765,26 @@ }, "color-convert": { "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { "color-name": "1.1.3" } }, "color-name": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "has-flag": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/has-flag/download/has-flag-3.0.0.tgz", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "supports-color": { "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.5.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { "has-flag": "^3.0.0" } @@ -961,8 +961,8 @@ }, "hexo-util": { "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/hexo-util/download/hexo-util-1.9.1.tgz", - "integrity": "sha1-FdwQ0NykdMl4zbqcIOjQQXrJk94=", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-1.9.1.tgz", + "integrity": "sha512-B6+nVi4Zpy7NPzlIcTLn9YBGb2Ly0q11mRzg6DyFWg0IfcrfF4tlWO0vRXqJVhvRyg+tIfUihmgypkiUW1IjNQ==", "requires": { "bluebird": "^3.5.2", "camel-case": "^4.0.0", @@ -988,8 +988,8 @@ }, "htmlparser2": { "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/htmlparser2/download/htmlparser2-4.1.0.tgz?cache=0&sync_timestamp=1587903546238&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-4.1.0.tgz", - "integrity": "sha1-mk7xYfLkYl6/ffvmwKL1LRilnng=", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", "requires": { "domelementtype": "^2.0.1", "domhandler": "^3.0.0", @@ -1032,39 +1032,39 @@ }, "is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { "binary-extensions": "^2.0.0" } }, "is-buffer": { "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1588707106955&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz", - "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { "is-extglob": "^2.1.1" } }, "is-number": { "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=" + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-plain-object": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-3.0.0.tgz", - "integrity": "sha1-R7/F2htdUNZBEIBsGZNZSC51qSg=", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", + "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", "requires": { "isobject": "^4.0.0" } @@ -1081,13 +1081,13 @@ }, "isobject": { "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-4.0.0.tgz", - "integrity": "sha1-PxyRVec7GSAiqAgZus0DQ3EWl7A=" + "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", + "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" }, "js-yaml": { "version": "3.13.1", - "resolved": "https://registry.npm.taobao.org/js-yaml/download/js-yaml-3.13.1.tgz", - "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1095,12 +1095,12 @@ }, "jsonparse": { "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/jsonparse/download/jsonparse-1.3.1.tgz", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" }, "kind-of": { "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { "is-buffer": "^1.1.5" @@ -1108,30 +1108,30 @@ }, "lazy-cache": { "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/lazy-cache/download/lazy-cache-1.0.4.tgz", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, "lodash": { "version": "4.17.15", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.15.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.15.tgz", - "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" }, "longest": { "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/longest/download/longest-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" }, "lower-case": { "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-2.0.1.tgz", - "integrity": "sha1-Oe6zbjlhFcwF4pQi6uqeaSyUCMc=", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", + "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", "requires": { "tslib": "^1.10.0" } }, "markdown": { "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/markdown/download/markdown-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", "requires": { "nopt": "~2.1.1" @@ -1144,8 +1144,8 @@ }, "micromatch": { "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.2.tgz", - "integrity": "sha1-T8sJmb+fvC/L3SEvbWKbmlbDklk=", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", "requires": { "braces": "^3.0.1", "picomatch": "^2.0.5" @@ -1197,13 +1197,13 @@ }, "moment": { "version": "2.25.3", - "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.25.3.tgz?cache=0&sync_timestamp=1588605303253&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmoment%2Fdownload%2Fmoment-2.25.3.tgz", - "integrity": "sha1-JS/0ExnPQeR3YaGojKsw7f6YCMA=" + "resolved": "https://registry.npmjs.org/moment/-/moment-2.25.3.tgz", + "integrity": "sha512-PuYv0PHxZvzc15Sp8ybUCoQ+xpyPWvjOuK72a5ovzp2LI32rJXOiIfyoFoYvG3s6EwwrdkMyWuRiEHSZRLJNdg==" }, "moment-timezone": { "version": "0.5.28", - "resolved": "https://registry.npm.taobao.org/moment-timezone/download/moment-timezone-0.5.28.tgz", - "integrity": "sha1-8JPXidCR7XsFXYKqgagkZ/cuQzg=", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.28.tgz", + "integrity": "sha512-TDJkZvAyKIVWg5EtVqRzU97w0Rb0YVbfpqyjgu6GwXCAohVRqwZjf4fOzDE6p1Ch98Sro/8hQQi65WDXW5STPw==", "requires": { "moment": ">= 2.9.0" } @@ -1242,7 +1242,7 @@ }, "mv": { "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/mv/download/mv-2.1.1.tgz", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", "optional": true, "requires": { @@ -1253,7 +1253,7 @@ }, "ncp": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ncp/download/ncp-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", "optional": true }, @@ -1313,8 +1313,8 @@ }, "no-case": { "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-3.0.3.tgz", - "integrity": "sha1-whtDTB/+SLOQh+hs+00lgunfGPg=", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", + "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", "requires": { "lower-case": "^2.0.1", "tslib": "^1.10.0" @@ -1322,7 +1322,7 @@ }, "nopt": { "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-2.1.2.tgz", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", "requires": { "abbrev": "1" @@ -1330,13 +1330,13 @@ }, "normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "nunjucks": { "version": "3.2.1", - "resolved": "https://registry.npm.taobao.org/nunjucks/download/nunjucks-3.2.1.tgz", - "integrity": "sha1-8ilTkoHpLGrSXYxXjJvbQWVcr4M=", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.1.tgz", + "integrity": "sha512-LYlVuC1ZNSalQQkLNNPvcgPt2M9FTY9bs39mTCuFXtqh7jWbYzhDlmz2M6onPiXEhdZo+b9anRhc+uBGuJZ2bQ==", "requires": { "a-sync-waterfall": "^1.0.0", "asap": "^2.0.3", @@ -1375,7 +1375,7 @@ }, "optimist": { "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { "minimist": "~0.0.1", @@ -1384,7 +1384,7 @@ "dependencies": { "minimist": { "version": "0.0.10", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.10.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" } } @@ -1396,8 +1396,8 @@ }, "pascal-case": { "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/pascal-case/download/pascal-case-3.1.1.tgz", - "integrity": "sha1-WsGXUTPtYZKB6Ikglz0s0fJ53l8=", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz", + "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==", "requires": { "no-case": "^3.0.3", "tslib": "^1.10.0" @@ -1410,36 +1410,36 @@ }, "path-key": { "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=" + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/path-parse/download/path-parse-1.0.6.tgz", - "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "picomatch": { "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz", - "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=" + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" }, "pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/pretty-hrtime/download/pretty-hrtime-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" }, "prismjs": { "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/prismjs/download/prismjs-1.20.0.tgz", - "integrity": "sha1-m2hfxICjUU7nGY6sajv1AkMZ/wM=", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.20.0.tgz", + "integrity": "sha512-AEDjSrVNkynnw6A+B1DsFkd6AVdTnp+/WoUixFRULlCLZVRZlVQMVWio/16jv7G1FscUxQxOQhWwApgbnxr6kQ==", "requires": { "clipboard": "^2.0.0" } }, "punycode.js": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/punycode.js/download/punycode.js-2.1.0.tgz", - "integrity": "sha1-85N/epFBUsLcF+nCgKLPhqJrfNo=" + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.1.0.tgz", + "integrity": "sha512-LvGUJ9QHiESLM4yn8JuJWicstRcJKRmP46psQw1HvCZ9puLFwYMKJWvkAkP3OHBVzNzZGx/D53EYJrIaKd9gZQ==" }, "range-parser": { "version": "1.2.1", @@ -1448,21 +1448,21 @@ }, "readdirp": { "version": "3.4.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.4.0.tgz", - "integrity": "sha1-n9zN+ekVWAVEkiGsZF6DA6tbmto=", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", "requires": { "picomatch": "^2.2.1" } }, "repeat-string": { "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "resolve": { "version": "1.17.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.17.0.tgz", - "integrity": "sha1-sllBtUloIxzC0bt2p5y38sC/hEQ=", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", "requires": { "path-parse": "^1.0.6" } @@ -1474,12 +1474,12 @@ }, "rfdc": { "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/rfdc/download/rfdc-1.1.4.tgz", - "integrity": "sha1-unLME2egzNnPgahws7WL060H+MI=" + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", + "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==" }, "right-align": { "version": "0.1.3", - "resolved": "https://registry.npm.taobao.org/right-align/download/right-align-0.1.3.tgz", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { "align-text": "^0.1.1" @@ -1487,7 +1487,7 @@ }, "rimraf": { "version": "2.4.5", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.4.5.tgz", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", "optional": true, "requires": { @@ -1501,8 +1501,8 @@ }, "safe-json-stringify": { "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/safe-json-stringify/download/safe-json-stringify-1.2.0.tgz", - "integrity": "sha1-NW5EvJjx+TzkXfFLzXwBzahuCv0=", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", "optional": true }, "safer-buffer": { @@ -1517,7 +1517,7 @@ }, "select": { "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/select/download/select-1.1.2.tgz", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", "optional": true }, @@ -1596,20 +1596,20 @@ }, "shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "requires": { "shebang-regex": "^3.0.0" } }, "shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-regex/download/shebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=" + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "source-map": { "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { @@ -1631,7 +1631,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsprintf-js%2Fdownload%2Fsprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "statuses": { @@ -1641,8 +1641,8 @@ }, "strip-ansi": { "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-6.0.0.tgz", - "integrity": "sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI=", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "requires": { "ansi-regex": "^5.0.0" } @@ -1728,15 +1728,15 @@ }, "supports-color": { "version": "7.1.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-7.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-7.1.0.tgz", - "integrity": "sha1-aOMlkd9z4lrRxLSRCKLsUHliv9E=", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "requires": { "has-flag": "^4.0.0" } }, "swig-extras": { "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/swig-extras/download/swig-extras-0.0.1.tgz", + "resolved": "https://registry.npmjs.org/swig-extras/-/swig-extras-0.0.1.tgz", "integrity": "sha1-tQP+3jcqucJMasaMr2VrzvGHIyg=", "requires": { "markdown": "~0.5.0" @@ -1744,8 +1744,8 @@ }, "swig-templates": { "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/swig-templates/download/swig-templates-2.0.3.tgz", - "integrity": "sha1-a0xDtGIXXfKo2oV6IEM3nsbqb9A=", + "resolved": "https://registry.npmjs.org/swig-templates/-/swig-templates-2.0.3.tgz", + "integrity": "sha512-QojPTuZWdpznSZWZDB63/grsZuDwT/7geMeGlftbJXDoYBIZEnTcKvz4iwYDv3SwfPX9/B4RtGRSXNnm3S2wwg==", "requires": { "optimist": "~0.6", "uglify-js": "2.6.0" @@ -1753,34 +1753,34 @@ }, "text-table": { "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/text-table/download/text-table-0.2.0.tgz", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "through": { "version": "2.3.8", - "resolved": "https://registry.npm.taobao.org/through/download/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "tildify": { "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/tildify/download/tildify-2.0.0.tgz", - "integrity": "sha1-8gXzZ01nfOaYtwZ6melJzgO0dUo=" + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" }, "tiny-emitter": { "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/tiny-emitter/download/tiny-emitter-2.1.0.tgz", - "integrity": "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM=", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", "optional": true }, "titlecase": { "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/titlecase/download/titlecase-1.1.3.tgz", - "integrity": "sha1-/G1l/1grBgJBB2jvGgm3BQYxPcM=" + "resolved": "https://registry.npmjs.org/titlecase/-/titlecase-1.1.3.tgz", + "integrity": "sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==" }, "to-regex-range": { "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { "is-number": "^7.0.0" } @@ -1792,12 +1792,12 @@ }, "tslib": { "version": "1.13.0", - "resolved": "https://registry.npm.taobao.org/tslib/download/tslib-1.13.0.tgz", - "integrity": "sha1-yIHhPMcBWJTtkUhi0nZDb6mkcEM=" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" }, "uglify-js": { "version": "2.6.0", - "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-2.6.0.tgz?cache=0&sync_timestamp=1589369586892&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-2.6.0.tgz", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.0.tgz", "integrity": "sha1-JeqhzDVQ45QQzu+v0c+7a20V8AE=", "requires": { "async": "~0.2.6", @@ -1808,7 +1808,7 @@ }, "uglify-to-browserify": { "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" }, "unpipe": { @@ -1838,8 +1838,8 @@ }, "warehouse": { "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/warehouse/download/warehouse-3.0.2.tgz", - "integrity": "sha1-TAL2/PKzMTBlbz0DPES/VnOvBDM=", + "resolved": "https://registry.npmjs.org/warehouse/-/warehouse-3.0.2.tgz", + "integrity": "sha512-NTaUFkDcRKFx477NflL3doMhnmPobpL+uF66s0ozAhjob+UCHcOzE77GvYR1sjyu+LR4SstPz3xGxYLOKQCvMg==", "requires": { "JSONStream": "^1.0.7", "bluebird": "^3.2.2", @@ -1851,20 +1851,20 @@ }, "which": { "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz?cache=0&sync_timestamp=1587903591553&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwhich%2Fdownload%2Fwhich-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "requires": { "isexe": "^2.0.0" } }, "window-size": { "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" }, "wordwrap": { "version": "0.0.3", - "resolved": "https://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.3.tgz", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" }, "wrappy": { @@ -1874,7 +1874,7 @@ }, "yargs": { "version": "3.10.0", - "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-3.10.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { "camelcase": "^1.0.2", diff --git a/package.json b/package.json index 2ec8601..7111ba2 100644 --- a/package.json +++ b/package.json @@ -12,14 +12,14 @@ "version": "4.2.1" }, "dependencies": { - "hexo": "^4.0.0", + "hexo": "^4.2.1", "hexo-generator-archive": "^1.0.0", "hexo-generator-category": "^1.0.0", "hexo-generator-index": "^1.0.0", "hexo-generator-tag": "^1.0.0", "hexo-renderer-ejs": "^1.0.0", - "hexo-renderer-stylus": "^1.1.0", "hexo-renderer-marked": "^2.0.0", + "hexo-renderer-stylus": "^1.1.0", "hexo-server": "^1.0.0" } } diff --git a/scaffolds/post.md b/scaffolds/post.md index 2945745..334877c 100644 --- a/scaffolds/post.md +++ b/scaffolds/post.md @@ -2,5 +2,7 @@ title: {{ title }} date: {{ date }} categories: +- tags: +- --- diff --git a/scaffolds/post.md~ b/scaffolds/post.md~ deleted file mode 100644 index 1f9b9a4..0000000 --- a/scaffolds/post.md~ +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: {{ title }} -date: {{ date }} -tags: ---- diff --git a/source/_posts/RValue-LValue.md b/source/_posts/RValue-LValue.md new file mode 100644 index 0000000..ab2cf3b --- /dev/null +++ b/source/_posts/RValue-LValue.md @@ -0,0 +1,263 @@ +--- +title: c++ 右值引用 +date: 2020-05-17 01:21:18 +categories: +- 基础知识 +tags: +- c++ +--- + +## 左值 & 右值 + +左值和右值,其实这个概念一直都在,简单回顾一下. + +```c++ +int lValue = 10; +``` + +在上面的代码中 `lValue` 是左值, `10` 是右值; 简单来区分就是 `=` 左边的是左值, 右边的是右值. + +右值是不能再次被赋值的, 譬如 `10 = 1` 是一个非法的操作. 一个左值也可以转变成右值; 譬如 + +```c++ +int lValue = 10; +int lValue2 = lValue; +``` + +`lValue2` 是左值, `lValue` 变成右值, 此时操作 `lValue2` 不会对影响 `lValue` 的值. 因为 `lValue2` 是 `lValue` 的一个**拷贝**; +简单的 int 拷贝消耗的时间和空间是比较小的, 但对于大型的类消耗就大了, 譬如假设有很长一段字符串. + +```c++ +std::string lString = "Hello Darin"; +std::string lString2 = lString; +lString2[2] = 'L'; +std::cout << "lString = " << lString + << " & " + << "lString2 = " << lString2 << std::endl; +``` + +`lString2 = lString` 执行之后, 相当于将 `lString` 内存的内容拷贝到 `lString2`, 我们将 `lString2` 的内容修改也不会影响 `lString` 的内容. + + +![e66d093753756658168ed247200ac46b.png](https://images.qianlicao.cn/hexo/images/RValue/8c8b4ec2e7244fd09093564411ea617d.png) + + +## 左值引用 & 右值引用 + +继续上面的例子, 我们申明了一个新的 `std::string &lString3 = lString;` + +```c++ +std::string &lString3 = lString; +lString3[2] = 'L'; +std::cout << "lString = " << lString + << " & " + << "lString3 = " << lString3 << std::endl; +``` + +`lString3` 其实就像是 `lString` 的别名, 对 `lString3` 内容的任何操作都会影响到 `lString`上, 譬如上面的例子, lString 也会变成 "He**L**lo Darin" , 这就是**左值引用**。 + +```c++ +int &getValue_l_ref() { + static int a = 10; + return a; +} +getValue_l_ref() = 20; +``` + +例如上面的左值引用, `getValue_l_ref()` 也是一个左值, 如果不加 `&` 号, 会有什么样的效果? + +**右值引用** 是在 C++11 引入的新特性, 是为了解决以下问题 + +1. 实现 `move` 语义 +2. 完美转发 + +**右值引用** 是什么, 例如有一个 **class MyString**, `MyString&` 是左值引用, 那么为了区分 `MyString&&` 就是一个右值引用, + +```c++ +void func(MyString& str); // 左值引用重载 +void func(MyString&& str); // 右值应用重载 + +MyString str; +MyString createStr(); + +func(str); // 入参是左值, 所以调用上述左值引用 +func(createStr()); // 参数是右值, 调用上述右值引用 +``` + +## 构造函数 & 拷贝构造函数 + +为了能够更容易理解后面的内容, 先熟悉一下 c++ 的构造函数和拷贝构造函数. + +我们定义一个 `MyString` 类, 后面我们会持续使用到它. + +```c++ +class MyString { +public: + MyString() { + std::cout << "default_constructor is called" << std::endl; + buffer_ = nullptr; + size_ = 0; + }; + + MyString(const char *str) { + std::cout << "char_constructor is called" << std::endl; + size_ = strlen(str); + buffer_ = new char[size_ + 1]; + memcpy(buffer_, str, size_); + buffer_[size_] = 0; + } +public: + char *buffer_; + int size_; +}; +``` + +接着, 我们来使用它 + +```c++ +MyString temp("Hello Darin"); +MyString str = temp; +std::cout << temp.buffer_ << std::endl; +std::cout << str.buffer_ << std::endl; +``` + +OK 你会发现可以正常运行. 但上面的代码是不完整的,`buffer_` 没有释放会内存泄漏的,若我们完善 `MyString` 加上析构函数 + +```c++ +~MyString() { + size_ = 0; + delete[] buffer_; + std::cout << "destructor is called" << std::endl; +} +``` + +此时运行就会出问题,问题如下。 + +```shell +(18057,0x10ed435c0) malloc: *** error for object 0x7fc509c029b0: pointer being freed was not allocated +(18057,0x10ed435c0) malloc: *** set a breakpoint in malloc_error_break to debug +``` + +原因是因为, 默认的拷贝构造函数, 是将 `buffer_` 指针的地址拷贝过去 + +如图 `debug` 所示, `str` 和 `temp` 内 `buffer_` 地址一模一样 +![be6a213db3b28e08fe878f34e50612ce.png](https://images.qianlicao.cn/hexo/images/RValue/a3eab4dbad544100817935291f147b9b.png) + + +当 `temp` 释放` buffer_` 指向的内容时, `str` 内部的 `buffer_` 指向的内容也就释放了, 再次释放数组就会出现上述错误. + +![752f3bae8e0948625d608b057d78ee86.png](https://images.qianlicao.cn/hexo/images/RValue/9429bc800a474ff3abaf8059852ea8c0.png) + +这明显不是我们期望的, 所以这里就需要自行实现一个深度拷贝构造函数. + +```c++ +MyString(MyString &lValueString) { + std::cout << "l_constructor is called" << std::endl; + size_ = lValueString.size_; + buffer_ = new char[size_ + 1]; + for (int i = 0; i < size_; i++) { + buffer_[i] = lValueString.buffer_[i]; + }//memcpy(buffer_, lValueString.buffer_, size_); + buffer_[size_] = 0; +} +``` + +实现完之后会发现, 就不会出现上述问题,达到了我们的期望,我们在调用一个函数时, 传入的参数会发生一次拷贝. `void func(MyString copy)` + +```c++ +MyString temp("Hello Darin"); +func(temp); +``` + +```shell +char_constructor is called +l_constructor is called +``` + +但如果将函数改为 `void func(MyString& copy)` l_constructor 就不会被调用, 完美的减少了一次拷贝的操作. + +值得一提的是左值引用一般要和 const 进行搭配, 否则在 func 里我们可以操作原值. + + +![fd3f302ef5d9afdc90aae86850b66666.png](https://images.qianlicao.cn/hexo/images/RValue/a36f1bdab2754cfd9f4302d7baf8260a.png) + +继续说构造函数, 在上述场景下, 拷贝构造函数还是会进行一次深度拷贝, 如果不需要深度拷贝该怎么办呢, 这个时候就可以用右值引用了. + +```c++ +MyString(MyString &&rValueString) { + std::cout << "r_constructor is called" << std::endl; + size_ = rValueString.size_; + buffer_ = rValueString.buffer_; + rValueString.buffer_ = nullptr; + rValueString.size_ = 0; +} +``` + +我们定义一个右值引用的构造函数, 当入参是右值时, 入参左边两个 **"&"**, 直接将指针地址赋值过去, 能够大大减少拷贝的操作. 我们称它为**移动构造函数**. + +在例如, 我们重写 MyString 的 equal 操作 (移动赋值运算符) + +```c++ +MyString operator =(const MyString ©) { + std::cout << "copy equal is called" << std::endl; + size_ = copy.size_; + buffer_ = new char[size_ + 1]; + for (int i = 0; i < size_; i++) { + buffer_[i] = copy.buffer_[i]; + }//memcpy(buffer_, lValueString.buffer_, size_); + buffer_[size_] = 0; + return *this; +} + +MyString operator =(MyString &©) { + std::cout << "right copy equal is called" << std::endl; + size_ = copy.size_; + buffer_ = copy.buffer_; + copy.buffer_ = nullptr; + copy.size_ = 0; + return *this; +} +``` + +```c++ +template +void swapLValue(T &a, T &b) { + T tmp(a); + a = b; + b = tmp; +} + +template +void swapRValue(T &a, T &b) { + T tmp(std::move(a)); + a = std::move(b); + b = std::move(tmp); +} +``` + +如上述代码所示, `swapRValue` 的效率明显大于 `swapLValue` 的效率, 只需要交换地址即可,不需要做深度拷贝。 + +似乎解释了上面右值引用的第一个用发,实现 move 转意. + +**在 c++ 11, `std::move` 可以将一个 `LValue` 转换成一个 `RValue`, 要达到很高的转化效率, 前提是 class T 实现了右值的 `operator =` 和 右值拷贝构造函数, 否则拷贝性能还是和原来一样.** + +**总结: 右值引用能够避免深度拷贝, 而 std::move 能够将一个左值引用转换成右值引用** + +由于移动构造函数和移动赋值操作符的实现方式存在不确定性, 故使用 `std::move` 一定要绝对确认移后源对象没有其它访问者. + +## 右值引用是右值吗? + +```c++ +MyString(MyString &&rValueString) { + MyString x = rValueString; // 这里调用的是什么类型的构造函数 + std::cout << "r_constructor is called" << std::endl; + size_ = rValueString.size_; + buffer_ = rValueString.buffer_; + rValueString.buffer_ = nullptr; + rValueString.size_ = 0; +} +``` + +例如上述代码, `MyString x = rValueString;` 实际调用的是 lValue 的构造函数, 所以 `rValueString` 是一个 lValue, 左值. + +先写到这里, 未完待续. \ No newline at end of file diff --git a/source/_posts/hello-world.md b/source/_posts/hello-world.md index 2395662..9b370f1 100644 --- a/source/_posts/hello-world.md +++ b/source/_posts/hello-world.md @@ -1,41 +1,20 @@ --- date: 2020-05-14 17:01:34 -title: Hello World -categories: Info -tags: test +title: My Blog +categories: Mind +tags: Mind --- -Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues). -## Quick Start +# 写作 -### Create a new post +好久没写博客了, 总是给自己的理由是太忙, +确实也没怎么闲着, 总以各种理由让自己忙起来. +回过头来看, 自己似乎快要成为积极的废人. +一些知识点总是一知半解, 说不会也不是全不会, 说会但是却无法回答的完整. +这就是我现在的状态. -``` bash -$ hexo new "My New Post" -``` +写作是一件非常难坚持的事情, 自我认知也是一件难以管理的事情. -More info: [Writing](https://hexo.io/docs/writing.html) +从今天开始在忙也要抽出时间刷 LeetCode , 以及完整掌握自己简历上所有的知识点. -### Run server - -``` bash -$ hexo server -``` - -More info: [Server](https://hexo.io/docs/server.html) - -### Generate static files - -``` bash -$ hexo generate -``` - -More info: [Generating](https://hexo.io/docs/generating.html) - -### Deploy to remote sites - -``` bash -$ hexo deploy -``` - -More info: [Deployment](https://hexo.io/docs/one-command-deployment.html) +![pic](https://images.qianlicao.cn/hexo/images/hello-world/fighting.jpg) \ No newline at end of file diff --git a/source/_posts/hello-world.md~ b/source/_posts/hello-world.md~ deleted file mode 100644 index 2395662..0000000 --- a/source/_posts/hello-world.md~ +++ /dev/null @@ -1,41 +0,0 @@ ---- -date: 2020-05-14 17:01:34 -title: Hello World -categories: Info -tags: test ---- -Welcome to [Hexo](https://hexo.io/)! This is your very first post. Check [documentation](https://hexo.io/docs/) for more info. If you get any problems when using Hexo, you can find the answer in [troubleshooting](https://hexo.io/docs/troubleshooting.html) or you can ask me on [GitHub](https://github.com/hexojs/hexo/issues). - -## Quick Start - -### Create a new post - -``` bash -$ hexo new "My New Post" -``` - -More info: [Writing](https://hexo.io/docs/writing.html) - -### Run server - -``` bash -$ hexo server -``` - -More info: [Server](https://hexo.io/docs/server.html) - -### Generate static files - -``` bash -$ hexo generate -``` - -More info: [Generating](https://hexo.io/docs/generating.html) - -### Deploy to remote sites - -``` bash -$ hexo deploy -``` - -More info: [Deployment](https://hexo.io/docs/one-command-deployment.html) diff --git a/source/about/index.md b/source/about/index.md index a6b69d6..a840906 100644 --- a/source/about/index.md +++ b/source/about/index.md @@ -2,3 +2,7 @@ title: about date: 2020-05-16 12:28:03 --- + +我想持续输出高质量的文章, 坚持下来再来介绍我自己 + +对文章有任何问题请邮件告知 dyy726@qq.com \ No newline at end of file diff --git a/source/about/me.md b/source/about/me.md deleted file mode 100644 index dd4fa48..0000000 --- a/source/about/me.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: About me -date: 2020-05-16 12:20:09 ---- diff --git a/start.sh b/start.sh new file mode 100644 index 0000000..947ea55 --- /dev/null +++ b/start.sh @@ -0,0 +1,2 @@ +kill -9 `ps aux | pgrep hexo` +nohup hexo server & diff --git a/themes/landscape/layout/_partial/post/title.ejs b/themes/landscape/layout/_partial/post/title.ejs index 69d646f..d29cd0f 100644 --- a/themes/landscape/layout/_partial/post/title.ejs +++ b/themes/landscape/layout/_partial/post/title.ejs @@ -1,6 +1,6 @@ <% if (post.link){ %>

- +

<% } else if (post.title){ %> <% if (index){ %> diff --git a/themes/magiclamp/_config.yml~ b/themes/magiclamp/_config.yml~ deleted file mode 100644 index 79c85e7..0000000 --- a/themes/magiclamp/_config.yml~ +++ /dev/null @@ -1,84 +0,0 @@ -# when running hexo in a subdirectory (e.g. domain.tld/blog), remove leading slashes ( "/archives" -> "archives" ) -menu: - home: / - categories: /categories - archives: /archives - tags: /tags - about: /about - #commonweal: /404.html - -# Place your favicon.ico to /source directory. -favicon: /favicon.ico - -# Set default keywords (Use a comma to separate) -keywords: "Hexo,Mala" - -# Set rss to false to disable feed link. -# Leave rss as empty to use site's feed link. -# Set rss to specific value if you have burned your feed already. -rss: - -# Icon fonts -# Place your font into next/source/fonts, specify directory-name and font-name here -# Avialable: default | linecons | fifty-shades | feather -icon_font: default -#icon_font: fifty-shades -#icon_font: feather -#icon_font: linecons - -# Code Highlight theme -# Available value: normal | night | night eighties | night blue | night bright -# https://github.com/chriskempson/tomorrow-theme -highlight_theme: night - - -# MathJax Support -mathjax: - - -# Schemes -scheme: Mala - - -# Sidebar, available value: -# - post expand on posts automatically. Default. -# - always expand for all pages automatically -# - hide expand only when click on the sidebar toggle icon. -sidebar: post -#sidebar: always -#sidebar: hide - - -# Automatically scroll page to section which is under mark. -scroll_to_more: true - - -# Automatically add list number to toc. -toc_list_number: true - -# Automatically Excerpt -auto_excerpt: - enable: true - length: 150 - -# Use Lato font -# Note: this option is avialable only when the language is not `zh-Hans` -use_font_lato: true - -## DO NOT EDIT THE FOLLOWING SETTINGS -## UNLESS YOU KNOW WHAT YOU ARE DOING - -# Use velocity to animate everything. -use_motion: true - -# Fancybox -fancybox: true - -# Static files -vendors: vendors -css: css -js: js -images: images - -# Theme version -version: 0.4.5.1 diff --git a/themes/magiclamp/layout/_layout.swig b/themes/magiclamp/layout/_layout.swig index 66f0ba5..2ce5563 100644 --- a/themes/magiclamp/layout/_layout.swig +++ b/themes/magiclamp/layout/_layout.swig @@ -44,7 +44,6 @@ {% endif %} diff --git a/themes/magiclamp/layout/_macro/post-collapse.swig b/themes/magiclamp/layout/_macro/post-collapse.swig index 29f512d..62757b4 100644 --- a/themes/magiclamp/layout/_macro/post-collapse.swig +++ b/themes/magiclamp/layout/_macro/post-collapse.swig @@ -5,7 +5,7 @@

{% if post.link %}{# Link posts #} - diff --git a/themes/magiclamp/layout/_macro/post.swig b/themes/magiclamp/layout/_macro/post.swig index dcb7c73..7c7cc38 100644 --- a/themes/magiclamp/layout/_macro/post.swig +++ b/themes/magiclamp/layout/_macro/post.swig @@ -8,7 +8,7 @@

{# Link posts #} {% if post.link %} -