diff --git a/db.json b/db.json index 66f387a1..ad475f1a 100644 --- a/db.json +++ b/db.json @@ -1 +1 @@ -{"meta":{"version":1,"warehouse":"4.0.2"},"models":{"Asset":[{"_id":"themes/hexo-theme-linear/source/css/0c63d269.css","path":"css/0c63d269.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/206.a3a4e130.css","path":"css/206.a3a4e130.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/21.88950121.css","path":"css/21.88950121.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/271.54fa1675.css","path":"css/271.54fa1675.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/2cd7dba2.css","path":"css/2cd7dba2.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/291.a8323266.css","path":"css/291.a8323266.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/2f1ea598.css","path":"css/2f1ea598.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/3a4a90d1.css","path":"css/3a4a90d1.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/3efc6cb5.css","path":"css/3efc6cb5.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/4c3d0e88.css","path":"css/4c3d0e88.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/618.6513d67e.css","path":"css/618.6513d67e.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/429.fb1dabcb.css","path":"css/429.fb1dabcb.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/766.64ad3c35.css","path":"css/766.64ad3c35.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/7c527814.css","path":"css/7c527814.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/922.9efa0b6b.css","path":"css/922.9efa0b6b.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/945.fdf98cb0.css","path":"css/945.fdf98cb0.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/aeb44e7a.css","path":"css/aeb44e7a.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/ccbcde32.css","path":"css/ccbcde32.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/de5de8fb.css","path":"css/de5de8fb.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/e01add4b.css","path":"css/e01add4b.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/efca006a.css","path":"css/efca006a.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/f3729dde.css","path":"css/f3729dde.css","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/font/linear.woff2","path":"font/linear.woff2","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/font/motto.woff","path":"font/motto.woff","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js","path":"js/07f44e09.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js.LICENSE.txt","path":"js/07f44e09.js.LICENSE.txt","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/1247bc3e.js","path":"js/1247bc3e.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/206.759361ed.js","path":"js/206.759361ed.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/21.282c05e7.js","path":"js/21.282c05e7.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/271.ee88a6de.js","path":"js/271.ee88a6de.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/291.4ac6984b.js","path":"js/291.4ac6984b.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/3cf4fd98.js","path":"js/3cf4fd98.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/31d6cfe0.js","path":"js/31d6cfe0.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/429.bc4769cb.js","path":"js/429.bc4769cb.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/430dbbd6.js","path":"js/430dbbd6.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/618.1a58fba9.js","path":"js/618.1a58fba9.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/766.9503a62c.js","path":"js/766.9503a62c.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/85d1c72e.js","path":"js/85d1c72e.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/922.689e0633.js","path":"js/922.689e0633.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/945.0313a94c.js","path":"js/945.0313a94c.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/96ea39da.js","path":"js/96ea39da.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/ca6b30b5.js","path":"js/ca6b30b5.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/f8b20eb9.js","path":"js/f8b20eb9.js","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/favicon.svg","path":"img/favicon.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-arrow-left.svg","path":"img/icon-arrow-left.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-book.svg","path":"img/icon-book.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-click.svg","path":"img/icon-click.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-date.svg","path":"img/icon-date.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-link.svg","path":"img/icon-link.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-layout.svg","path":"img/icon-layout.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-moon.svg","path":"img/icon-moon.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-sun.svg","path":"img/icon-sun.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon2.svg","path":"img/icon2.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon1.svg","path":"img/icon1.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon3.svg","path":"img/icon3.svg","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/logo.png","path":"img/logo.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/100.png","path":"img/qweather-color-icon/100.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/101.png","path":"img/qweather-color-icon/101.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/102.png","path":"img/qweather-color-icon/102.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/103.png","path":"img/qweather-color-icon/103.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/104.png","path":"img/qweather-color-icon/104.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/150.png","path":"img/qweather-color-icon/150.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/151.png","path":"img/qweather-color-icon/151.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/152.png","path":"img/qweather-color-icon/152.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/153.png","path":"img/qweather-color-icon/153.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/300.png","path":"img/qweather-color-icon/300.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/301.png","path":"img/qweather-color-icon/301.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/302.png","path":"img/qweather-color-icon/302.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/303.png","path":"img/qweather-color-icon/303.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/304.png","path":"img/qweather-color-icon/304.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/305.png","path":"img/qweather-color-icon/305.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/306.png","path":"img/qweather-color-icon/306.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/307.png","path":"img/qweather-color-icon/307.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/308.png","path":"img/qweather-color-icon/308.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/309.png","path":"img/qweather-color-icon/309.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/310.png","path":"img/qweather-color-icon/310.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/311.png","path":"img/qweather-color-icon/311.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/312.png","path":"img/qweather-color-icon/312.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/313.png","path":"img/qweather-color-icon/313.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/314.png","path":"img/qweather-color-icon/314.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/315.png","path":"img/qweather-color-icon/315.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/316.png","path":"img/qweather-color-icon/316.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/317.png","path":"img/qweather-color-icon/317.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/318.png","path":"img/qweather-color-icon/318.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/350.png","path":"img/qweather-color-icon/350.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/351.png","path":"img/qweather-color-icon/351.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/399.png","path":"img/qweather-color-icon/399.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/400.png","path":"img/qweather-color-icon/400.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/401.png","path":"img/qweather-color-icon/401.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/402.png","path":"img/qweather-color-icon/402.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/403.png","path":"img/qweather-color-icon/403.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/404.png","path":"img/qweather-color-icon/404.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/406.png","path":"img/qweather-color-icon/406.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/407.png","path":"img/qweather-color-icon/407.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/408.png","path":"img/qweather-color-icon/408.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/409.png","path":"img/qweather-color-icon/409.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/410.png","path":"img/qweather-color-icon/410.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/456.png","path":"img/qweather-color-icon/456.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/457.png","path":"img/qweather-color-icon/457.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/499.png","path":"img/qweather-color-icon/499.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/500.png","path":"img/qweather-color-icon/500.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/501.png","path":"img/qweather-color-icon/501.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/502.png","path":"img/qweather-color-icon/502.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/503.png","path":"img/qweather-color-icon/503.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/504.png","path":"img/qweather-color-icon/504.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/507.png","path":"img/qweather-color-icon/507.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/508.png","path":"img/qweather-color-icon/508.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/509.png","path":"img/qweather-color-icon/509.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/510.png","path":"img/qweather-color-icon/510.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/511.png","path":"img/qweather-color-icon/511.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/512.png","path":"img/qweather-color-icon/512.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/513.png","path":"img/qweather-color-icon/513.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/514.png","path":"img/qweather-color-icon/514.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/515.png","path":"img/qweather-color-icon/515.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/900.png","path":"img/qweather-color-icon/900.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/901.png","path":"img/qweather-color-icon/901.png","modified":0,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/999.png","path":"img/qweather-color-icon/999.png","modified":0,"renderable":1}],"Cache":[{"_id":"source/_posts/hello-world.md","hash":"7d98d6592de80fdcd2949bd7401cec12afd98cdf","modified":1697763910846},{"_id":"source/_posts/Linear 入门.md","hash":"1d34cf44b02d833b768dfe29fbba9dbd9fce63e3","modified":1697765129685},{"_id":"source/_posts/Linear-Starter-Guide.md","hash":"fccd455d2345ebbfb02ba8156a929102da289ad2","modified":1697765213835},{"_id":"themes/hexo-theme-linear/source/js/31d6cfe0.js","hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709","modified":1697766724527},{"_id":"themes/hexo-theme-linear/languages/ar.yml","hash":"de613e0512e106e67c39c5534ccfea29eb15f557","modified":1697766724476},{"_id":"themes/hexo-theme-linear/_config.yml","hash":"05d7811f05039be65dcf73f4d5248005bea3d28d","modified":1697767071788},{"_id":"themes/hexo-theme-linear/languages/en.yml","hash":"5d97a1ba5a02e24443b37bc000567fdf17340bd2","modified":1697766724476},{"_id":"themes/hexo-theme-linear/languages/de.yml","hash":"20ccde52ba59700211177dbc6a0658489d3fabda","modified":1697766724476},{"_id":"themes/hexo-theme-linear/languages/es.yml","hash":"3e47b0f87a02d7f8ece63becb37fcfbb1ed32b16","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/fr.yml","hash":"125ed203d8ce117f61ab4e3e4ffca58cd7bb6c61","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/ja.yml","hash":"944eea06cacb1aeb58833eb273f32433d323768e","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/ru.yml","hash":"974811181b770e78e4571dfa87aed51fd3863043","modified":1697766724478},{"_id":"themes/hexo-theme-linear/languages/ko.yml","hash":"4cd415dee4bcdbdefd1b7df6caea76ccc258c49a","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/zh-TW.yml","hash":"ad746b7bd795e81ed8f34e7fe05faf7e1cd999d7","modified":1697766724478},{"_id":"themes/hexo-theme-linear/languages/zh-CN.yml","hash":"cf4c13270d7ac15baea1e774064f27bd2d2f8f32","modified":1697766724478},{"_id":"themes/hexo-theme-linear/layout/airplane.ejs","hash":"28521fce0f5dbd1fd62c612ae68b78ba254faef3","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/archive.ejs","hash":"d63bc4ebac416b4f5b80fb673ec0a3f092a4e255","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/category.ejs","hash":"679f6aa009bc1f681fe9c2305c79f96e87e119ea","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/breadcrumb.ejs","hash":"81c91ad7b618a760b901741ff0d87333acddf60c","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/homebar.ejs","hash":"fdc00e93db6bfd508e3cd44aef084124a00b3424","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/index.ejs","hash":"f9981d732327e420c7a727ee8cced34327d7fd31","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/layout.ejs","hash":"0733d5f564941dd109bd2eb72acfad95cf3c4f89","modified":1697766724484},{"_id":"themes/hexo-theme-linear/layout/navigation.ejs","hash":"b92b8cf5698a1b7631a2d463da6891b8ddc078ed","modified":1697766724484},{"_id":"themes/hexo-theme-linear/layout/postCopyright.ejs","hash":"83a579d0e8d7cf341ac8acc9a733d5046e224e32","modified":1697766724484},{"_id":"themes/hexo-theme-linear/layout/post.ejs","hash":"891458ae52a93e8070513b2a35a49d0afdb4a962","modified":1697766724484},{"_id":"themes/hexo-theme-linear/scripts/generate_excerpt.js","hash":"a7cfe46e7e389b1654c81f3e9a8a934dd80d735a","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/search.ejs","hash":"da088b901ea192cbd8c6fc451094bc93890ecc4d","modified":1697766724484},{"_id":"themes/hexo-theme-linear/layout/weather.ejs","hash":"04052e95f80ac11765b90019b149d7fb1bb68bab","modified":1697766724485},{"_id":"themes/hexo-theme-linear/scripts/postIcon.js","hash":"73362a6570b00613681425b59a30903be671cd91","modified":1697766724491},{"_id":"themes/hexo-theme-linear/scripts/mermaid_tag.js","hash":"bc74c79cf41709da1993597acaebae96d6b3761d","modified":1697766724491},{"_id":"themes/hexo-theme-linear/scripts/post_counter.js","hash":"62aaa594dafcffe5aa457628eaf183075cabe159","modified":1697766724491},{"_id":"themes/hexo-theme-linear/scripts/sort_posts.js","hash":"5cedcd663fd7eb1b255360ea9eb6089fd55e959c","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/welcome.ejs","hash":"ce7419f61089411de4cea72165a4ce89c4d55fbd","modified":1697766724485},{"_id":"themes/hexo-theme-linear/source/css/0c63d269.css","hash":"6b9b9796cf8ff9349b724f4b789f1347eaa0d476","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/271.54fa1675.css","hash":"845cb754fd4ea780279a16e01a345d55889866e2","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/21.88950121.css","hash":"44c9b83ffe9151e2e233c2f55b6e89b30ea7c7bb","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/206.a3a4e130.css","hash":"f8c04ec30e94eb972ff315b8c1eef655b9e8a03e","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/2cd7dba2.css","hash":"dbc4f3071866019f0faae76620928ddf2f6700e6","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/3efc6cb5.css","hash":"1f1958bfd921ac3eea83a1e14ed97e8e83b31fb6","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/291.a8323266.css","hash":"e18068692b42ef4b76adc55d5ddc9f2bb10203f4","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/2f1ea598.css","hash":"ac520cdae0399c2b818dcac34c5ff58fd204d10f","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/4c3d0e88.css","hash":"c4a5bf3a1f7adf21c04d9950b02a67f516bbac9f","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/429.fb1dabcb.css","hash":"1f2b77bab319123d193042b9990056abe9f2fd73","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/3a4a90d1.css","hash":"4ffc2c5e9f1afd4fa74d7d9b785e0697cd7fb770","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/618.6513d67e.css","hash":"660188677fab2c0946ac4b8ed81611ad5472feb8","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/922.9efa0b6b.css","hash":"721bc1b89ae059267d9b4aa3cc37f5c1ff8f32c3","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/945.fdf98cb0.css","hash":"f227a8697bf14eb75ba63d14a0608db53c9a50a1","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/7c527814.css","hash":"7061b6b9c6fe1da1956a664b3ee7862ef257c716","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/766.64ad3c35.css","hash":"8434994030b9b9d0fa3a82df079c860f49543b82","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/ccbcde32.css","hash":"3475deea0241c67fadc3de5149886e90af24f2e6","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/e01add4b.css","hash":"5fc672a8fb8b65d60c087cc908d5170eaac56e0c","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/css/aeb44e7a.css","hash":"95b181f50e6adb98be13bb60983edb155a83f6d7","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/efca006a.css","hash":"97972d1b7ca177983b39a67e772736f661637468","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/css/f3729dde.css","hash":"2a7faa0c3816e3b653fb4540fa63504a26b2051f","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/css/de5de8fb.css","hash":"a05682caa4e0b8a106578468f795dad472ee75da","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/font/motto.woff","hash":"755620f3bad3ebdf683c074043104d4c11f8d23e","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/js/1247bc3e.js","hash":"1d0335fdedecd72daa5eb2288a8891ab2e83e55d","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/font/linear.woff2","hash":"57cac19ad34a50d5a4da5e471e08174c950ce5fb","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js","hash":"e8a21a4252ad34adc1a54066eab32a26a7313940","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js.LICENSE.txt","hash":"35ad54c8f1627db94ca60022d50f416d495b72c6","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/js/206.759361ed.js","hash":"129b5fd004afbbe4ab06cf6e944097b42c98655b","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/js/271.ee88a6de.js","hash":"2d93e1c6f51c16e6cc0c41740dc1de5a0c362926","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/291.4ac6984b.js","hash":"b5bb3c24cbcb7d09604c8c66c9d4470e6a2fd449","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/3cf4fd98.js","hash":"0d51155f6dc08d1d8c693d210c1407b2e26b5685","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/21.282c05e7.js","hash":"78359415e9f39c9c2119551ac2a97ba9f15af294","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/429.bc4769cb.js","hash":"926f0c003b8cfc0f4eb78ab6367aab9228d31abf","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/922.689e0633.js","hash":"1757f732da655e7dc36fe4a23d29b72a549e9423","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/js/85d1c72e.js","hash":"8ec5c0c8f9dff40d1fc2d16de3baa51442e12be2","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/618.1a58fba9.js","hash":"afbe73ca7b78196e48dd9147a12db960d17589ff","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/945.0313a94c.js","hash":"ccc3bda115641d497837d4cf8e93f776f0e64c6d","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/js/430dbbd6.js","hash":"ff77ecc0d3b8bee105dabbaccefdb83b07a09e47","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/766.9503a62c.js","hash":"9f2114b6ac69ab0a67b1c88c5f6c48ff244185f7","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/96ea39da.js","hash":"a6c6a3f3afb38e8326846eb8eac1bbadd48ac6d3","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/img/icon-arrow-left.svg","hash":"a36362d2555e8b836fcec1f7eeeae4588a871bdd","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/js/ca6b30b5.js","hash":"481a8f20c3d4e565c1ea5dafe4218597d051a9fc","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/js/f8b20eb9.js","hash":"86cff2cb169c614dedd464b373d94322328cb185","modified":1697766724530},{"_id":"themes/hexo-theme-linear/source/img/favicon.svg","hash":"6e88f8a231bb0a7ae4cc4598f85b6d346a286095","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/img/icon-date.svg","hash":"b391e34adafed83ef52d836fd6f81618494c4c6b","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-click.svg","hash":"b10df8b886a8b2d44293b26f42b440c9aedb66a7","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-link.svg","hash":"436b5ee7ef2d28766e86ac1e65a567d1e786c1b3","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-layout.svg","hash":"108ef43073a5b92552dc00744a9f11db8e5ac0a2","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-book.svg","hash":"d5e4064468dde477bf9a630c3fababec41316708","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/img/icon-sun.svg","hash":"57a0ce52ecce7188eaac5e06eab54609a8e572c8","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon2.svg","hash":"cc598540651110d977afd26dc0a1f01bbc95bf21","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon1.svg","hash":"f15fbcecbaa00db99aeaca9807922514f6452d02","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon-moon.svg","hash":"032be7ed3d2320f22069e2efb2fb7f60592d6212","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon3.svg","hash":"a1a9dcee7703ec48f2d92b0d533b62fef16097fc","modified":1697766724508},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/100.png","hash":"ad42001979a0dbb8807c128b871dc28161b8c191","modified":1697766724510},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/102.png","hash":"74d7cfa4f23850a456c16d0e0956264e920f7a85","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/101.png","hash":"890888efd8db7a3f29427e476ce3433f4a564321","modified":1697766724510},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/104.png","hash":"36add97ed90d57e691e6e15d3456898a42dccb16","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/103.png","hash":"656d81bd50728c7ba62572e838db7c355d522e51","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/150.png","hash":"572b4a6e56271b89208daa538f02416d50249347","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/151.png","hash":"8041e428fc369be40f9e993f4f718ae99c7662fa","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/153.png","hash":"3eb50d325ec84e1248585d347471b1093a83909c","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/152.png","hash":"3ec0a1ac063ae068cc9d728eef88a9a6d7859153","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/301.png","hash":"cc616d4c7ae6abbe0338f418fe35acce93c46164","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/300.png","hash":"bd67445ff764f3f1d4eeb81625372585bb537b07","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/303.png","hash":"453442f93e62ac98884aae173530f26272d97ad6","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/302.png","hash":"371fa4d79b6a93573fde068f179829ed97c8f4f8","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/305.png","hash":"618e18bf06b5d12d64269b30d6f044fc356d24b0","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/307.png","hash":"02a08e002d21a10e0854b1036556fb81b0308be3","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/306.png","hash":"69b55e71e8da4e0fe223ff76b9a68f98e4134b3d","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/304.png","hash":"3669eb04ee87dca604f70f7404c0ecb303d17af4","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/309.png","hash":"c5140be49b8936e5d30380f14f7dce49a7be7cb5","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/310.png","hash":"9315203066fa97a7d10f2a6fb0fd3ce5b7805126","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/308.png","hash":"ace460a40174aa90dde6c2ef71663f30cec24193","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/313.png","hash":"afa70386816623e847c09f51032212d2520d1740","modified":1697766724515},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/311.png","hash":"ab5c5059f354da2f9525b30ee81312fbfa4749bf","modified":1697766724515},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/314.png","hash":"110f9fe81f80b8f372b7472fbcfd9c0071b33151","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/312.png","hash":"c672d7373fce89803b5e8d06420e158f11ea346f","modified":1697766724515},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/315.png","hash":"2100a23ee6d584227715164263c43875e8d8946c","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/316.png","hash":"4de1ac0254507c5509fc4d04e208fd81d2af7b34","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/317.png","hash":"7e60725abd3b91b9ba388ad9b9f642690c39ff9e","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/350.png","hash":"f29c1aa55c4afd3df17aef7885a35b0bd177d771","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/400.png","hash":"79444a48a0e416e4cac1eb319496f495091f4c86","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/351.png","hash":"3ab30470a65acb8fe879aa7adc9064284abd8407","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/399.png","hash":"993ddcd386480d211ec9b2e56656d659bb6c453b","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/401.png","hash":"279c8bc00b4e57db9b1095df64044ec80b37edb0","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/318.png","hash":"7a042920165671cdbfef6c58596a80f9a1f6f016","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/402.png","hash":"033fc236885a2bf7007d97eb054b0c5885035be5","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/403.png","hash":"dfad1a525c4467c3e95e281befdf813e145620df","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/404.png","hash":"112e73e641d1a30712993b5dca681a5e033831ee","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/406.png","hash":"b9cd0421518e0a76041285e5bf0c1666a93428a5","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/410.png","hash":"9170b32d6b7f644ce49116f3e35d35558bae6536","modified":1697766724521},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/407.png","hash":"82223792a5e3e556148b4663f195ef22044c143a","modified":1697766724519},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/409.png","hash":"aed269911d0249a700b4f3890c424f00f4a27e1e","modified":1697766724521},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/408.png","hash":"02b34a66020c9f3e5173702d30e5a7b69139bade","modified":1697766724519},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/456.png","hash":"dd16b957cc544730afab8d2712821dd6c77f5167","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/457.png","hash":"5dffe7e9139bfb697b046c427b9ef0ed6ffa95c7","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/500.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/499.png","hash":"2b51631144a7c0f813b6425d4daa30c4d4e8bd38","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/501.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/502.png","hash":"4146081a2635ff88fa14e38ed8d360d3b4fa74dd","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/503.png","hash":"9415147c4bcebadd7f3089339064b8120c8d4089","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/504.png","hash":"defba93520719f72b217583062ccc79abd5b445e","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/507.png","hash":"426d5a73a482ac5721e7da2141e4fe704f50b608","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/508.png","hash":"ae98a3217df26021ec2f667f099d27575c912bf4","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/509.png","hash":"3bc779bfbcab94a79c91b26288e2e7b67412d15e","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/510.png","hash":"524131e401d0b150dab2733af336f4649b8ade74","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/511.png","hash":"e2efe07a29446ebecd313ccd8a2c7d57a670f203","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/512.png","hash":"64e11f225c35caa6ef2612d613026c52cfd3557e","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/513.png","hash":"ceff3dfd109a990c9595276ad6b56061bb662e5e","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/514.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/515.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/900.png","hash":"6eacf8df641c6096feb746c7544a825d3c65bf47","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/901.png","hash":"f6b3f1cd64e9c325e9dc3ab42469baa5c5119c2d","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/999.png","hash":"74e4fa5bdd815d988b55525d4e7f6d40bf1080d4","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/logo.png","hash":"05730ab0dadd5036509f942834278eef683994dd","modified":1697766724508},{"_id":"public/2023/10/20/Linear 入门/index.html","hash":"b5e8768c827a923836eae1683a6533acae8ccfcd","modified":1697767080415},{"_id":"public/2023/10/20/Linear-Starter-Guide/index.html","hash":"d96ac054bac2f8d439d958c14f09285da89b73df","modified":1697767080415},{"_id":"public/2023/10/20/hello-world/index.html","hash":"0a56a073d8602a6476e1a37b58fca8ef820a394b","modified":1697767080415},{"_id":"public/archives/index.html","hash":"e06e84a6fa522aefc8513faaabbad0c41305f513","modified":1697766987554},{"_id":"public/archives/2023/index.html","hash":"e06e84a6fa522aefc8513faaabbad0c41305f513","modified":1697766987554},{"_id":"public/archives/2023/10/index.html","hash":"e06e84a6fa522aefc8513faaabbad0c41305f513","modified":1697766987554},{"_id":"public/categories/Hexo/index.html","hash":"ddf2aaec451af3e6606954fe66cb0655fd45fa60","modified":1697766987554},{"_id":"public/index.html","hash":"6d8bd3601f5c586fdd4f9c55a74fc57ced8c220e","modified":1697766987554},{"_id":"public/font/motto.woff","hash":"755620f3bad3ebdf683c074043104d4c11f8d23e","modified":1697766987554},{"_id":"public/js/07f44e09.js.LICENSE.txt","hash":"35ad54c8f1627db94ca60022d50f416d495b72c6","modified":1697766987554},{"_id":"public/img/favicon.svg","hash":"6e88f8a231bb0a7ae4cc4598f85b6d346a286095","modified":1697766987554},{"_id":"public/img/icon-arrow-left.svg","hash":"a36362d2555e8b836fcec1f7eeeae4588a871bdd","modified":1697766987554},{"_id":"public/font/linear.woff2","hash":"57cac19ad34a50d5a4da5e471e08174c950ce5fb","modified":1697766987554},{"_id":"public/img/icon-book.svg","hash":"d5e4064468dde477bf9a630c3fababec41316708","modified":1697766987554},{"_id":"public/img/icon-click.svg","hash":"b10df8b886a8b2d44293b26f42b440c9aedb66a7","modified":1697766987554},{"_id":"public/img/icon-date.svg","hash":"b391e34adafed83ef52d836fd6f81618494c4c6b","modified":1697766987554},{"_id":"public/img/icon-layout.svg","hash":"108ef43073a5b92552dc00744a9f11db8e5ac0a2","modified":1697766987554},{"_id":"public/img/icon-link.svg","hash":"436b5ee7ef2d28766e86ac1e65a567d1e786c1b3","modified":1697766987554},{"_id":"public/img/icon-moon.svg","hash":"032be7ed3d2320f22069e2efb2fb7f60592d6212","modified":1697766987554},{"_id":"public/img/icon2.svg","hash":"cc598540651110d977afd26dc0a1f01bbc95bf21","modified":1697766987554},{"_id":"public/img/icon-sun.svg","hash":"57a0ce52ecce7188eaac5e06eab54609a8e572c8","modified":1697766987554},{"_id":"public/img/icon3.svg","hash":"a1a9dcee7703ec48f2d92b0d533b62fef16097fc","modified":1697766987554},{"_id":"public/img/icon1.svg","hash":"f15fbcecbaa00db99aeaca9807922514f6452d02","modified":1697766987554},{"_id":"public/img/qweather-color-icon/100.png","hash":"ad42001979a0dbb8807c128b871dc28161b8c191","modified":1697766987554},{"_id":"public/img/qweather-color-icon/102.png","hash":"74d7cfa4f23850a456c16d0e0956264e920f7a85","modified":1697766987554},{"_id":"public/img/qweather-color-icon/103.png","hash":"656d81bd50728c7ba62572e838db7c355d522e51","modified":1697766987554},{"_id":"public/img/qweather-color-icon/101.png","hash":"890888efd8db7a3f29427e476ce3433f4a564321","modified":1697766987554},{"_id":"public/img/qweather-color-icon/104.png","hash":"36add97ed90d57e691e6e15d3456898a42dccb16","modified":1697766987554},{"_id":"public/img/qweather-color-icon/150.png","hash":"572b4a6e56271b89208daa538f02416d50249347","modified":1697766987554},{"_id":"public/img/qweather-color-icon/151.png","hash":"8041e428fc369be40f9e993f4f718ae99c7662fa","modified":1697766987554},{"_id":"public/img/qweather-color-icon/152.png","hash":"3ec0a1ac063ae068cc9d728eef88a9a6d7859153","modified":1697766987554},{"_id":"public/img/qweather-color-icon/300.png","hash":"bd67445ff764f3f1d4eeb81625372585bb537b07","modified":1697766987554},{"_id":"public/img/qweather-color-icon/301.png","hash":"cc616d4c7ae6abbe0338f418fe35acce93c46164","modified":1697766987554},{"_id":"public/img/qweather-color-icon/302.png","hash":"371fa4d79b6a93573fde068f179829ed97c8f4f8","modified":1697766987554},{"_id":"public/img/qweather-color-icon/303.png","hash":"453442f93e62ac98884aae173530f26272d97ad6","modified":1697766987554},{"_id":"public/img/qweather-color-icon/308.png","hash":"ace460a40174aa90dde6c2ef71663f30cec24193","modified":1697766987554},{"_id":"public/img/qweather-color-icon/309.png","hash":"c5140be49b8936e5d30380f14f7dce49a7be7cb5","modified":1697766987554},{"_id":"public/img/qweather-color-icon/304.png","hash":"3669eb04ee87dca604f70f7404c0ecb303d17af4","modified":1697766987554},{"_id":"public/img/qweather-color-icon/305.png","hash":"618e18bf06b5d12d64269b30d6f044fc356d24b0","modified":1697766987554},{"_id":"public/img/qweather-color-icon/306.png","hash":"69b55e71e8da4e0fe223ff76b9a68f98e4134b3d","modified":1697766987554},{"_id":"public/img/qweather-color-icon/310.png","hash":"9315203066fa97a7d10f2a6fb0fd3ce5b7805126","modified":1697766987554},{"_id":"public/img/qweather-color-icon/153.png","hash":"3eb50d325ec84e1248585d347471b1093a83909c","modified":1697766987554},{"_id":"public/img/qweather-color-icon/311.png","hash":"ab5c5059f354da2f9525b30ee81312fbfa4749bf","modified":1697766987554},{"_id":"public/img/qweather-color-icon/307.png","hash":"02a08e002d21a10e0854b1036556fb81b0308be3","modified":1697766987554},{"_id":"public/img/qweather-color-icon/312.png","hash":"c672d7373fce89803b5e8d06420e158f11ea346f","modified":1697766987554},{"_id":"public/img/qweather-color-icon/313.png","hash":"afa70386816623e847c09f51032212d2520d1740","modified":1697766987554},{"_id":"public/img/qweather-color-icon/314.png","hash":"110f9fe81f80b8f372b7472fbcfd9c0071b33151","modified":1697766987554},{"_id":"public/img/qweather-color-icon/315.png","hash":"2100a23ee6d584227715164263c43875e8d8946c","modified":1697766987554},{"_id":"public/img/qweather-color-icon/316.png","hash":"4de1ac0254507c5509fc4d04e208fd81d2af7b34","modified":1697766987554},{"_id":"public/img/qweather-color-icon/318.png","hash":"7a042920165671cdbfef6c58596a80f9a1f6f016","modified":1697766987554},{"_id":"public/img/qweather-color-icon/317.png","hash":"7e60725abd3b91b9ba388ad9b9f642690c39ff9e","modified":1697766987554},{"_id":"public/img/qweather-color-icon/350.png","hash":"f29c1aa55c4afd3df17aef7885a35b0bd177d771","modified":1697766987554},{"_id":"public/img/qweather-color-icon/351.png","hash":"3ab30470a65acb8fe879aa7adc9064284abd8407","modified":1697766987554},{"_id":"public/img/qweather-color-icon/399.png","hash":"993ddcd386480d211ec9b2e56656d659bb6c453b","modified":1697766987554},{"_id":"public/img/qweather-color-icon/402.png","hash":"033fc236885a2bf7007d97eb054b0c5885035be5","modified":1697766987554},{"_id":"public/img/qweather-color-icon/404.png","hash":"112e73e641d1a30712993b5dca681a5e033831ee","modified":1697766987554},{"_id":"public/img/qweather-color-icon/403.png","hash":"dfad1a525c4467c3e95e281befdf813e145620df","modified":1697766987554},{"_id":"public/img/qweather-color-icon/400.png","hash":"79444a48a0e416e4cac1eb319496f495091f4c86","modified":1697766987554},{"_id":"public/img/qweather-color-icon/406.png","hash":"b9cd0421518e0a76041285e5bf0c1666a93428a5","modified":1697766987554},{"_id":"public/img/qweather-color-icon/401.png","hash":"279c8bc00b4e57db9b1095df64044ec80b37edb0","modified":1697766987554},{"_id":"public/img/qweather-color-icon/407.png","hash":"82223792a5e3e556148b4663f195ef22044c143a","modified":1697766987554},{"_id":"public/img/qweather-color-icon/408.png","hash":"02b34a66020c9f3e5173702d30e5a7b69139bade","modified":1697766987554},{"_id":"public/img/qweather-color-icon/409.png","hash":"aed269911d0249a700b4f3890c424f00f4a27e1e","modified":1697766987554},{"_id":"public/img/qweather-color-icon/410.png","hash":"9170b32d6b7f644ce49116f3e35d35558bae6536","modified":1697766987554},{"_id":"public/img/qweather-color-icon/457.png","hash":"5dffe7e9139bfb697b046c427b9ef0ed6ffa95c7","modified":1697766987554},{"_id":"public/img/qweather-color-icon/456.png","hash":"dd16b957cc544730afab8d2712821dd6c77f5167","modified":1697766987554},{"_id":"public/img/qweather-color-icon/499.png","hash":"2b51631144a7c0f813b6425d4daa30c4d4e8bd38","modified":1697766987554},{"_id":"public/img/qweather-color-icon/500.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697766987554},{"_id":"public/img/qweather-color-icon/502.png","hash":"4146081a2635ff88fa14e38ed8d360d3b4fa74dd","modified":1697766987554},{"_id":"public/img/qweather-color-icon/501.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697766987554},{"_id":"public/img/qweather-color-icon/503.png","hash":"9415147c4bcebadd7f3089339064b8120c8d4089","modified":1697766987554},{"_id":"public/img/qweather-color-icon/507.png","hash":"426d5a73a482ac5721e7da2141e4fe704f50b608","modified":1697766987554},{"_id":"public/img/qweather-color-icon/504.png","hash":"defba93520719f72b217583062ccc79abd5b445e","modified":1697766987554},{"_id":"public/img/qweather-color-icon/508.png","hash":"ae98a3217df26021ec2f667f099d27575c912bf4","modified":1697766987554},{"_id":"public/img/qweather-color-icon/510.png","hash":"524131e401d0b150dab2733af336f4649b8ade74","modified":1697766987554},{"_id":"public/img/qweather-color-icon/511.png","hash":"e2efe07a29446ebecd313ccd8a2c7d57a670f203","modified":1697766987554},{"_id":"public/img/qweather-color-icon/509.png","hash":"3bc779bfbcab94a79c91b26288e2e7b67412d15e","modified":1697766987554},{"_id":"public/img/qweather-color-icon/513.png","hash":"ceff3dfd109a990c9595276ad6b56061bb662e5e","modified":1697766987554},{"_id":"public/img/qweather-color-icon/514.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697766987554},{"_id":"public/img/qweather-color-icon/515.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697766987554},{"_id":"public/img/qweather-color-icon/900.png","hash":"6eacf8df641c6096feb746c7544a825d3c65bf47","modified":1697766987554},{"_id":"public/img/qweather-color-icon/999.png","hash":"74e4fa5bdd815d988b55525d4e7f6d40bf1080d4","modified":1697766987554},{"_id":"public/img/qweather-color-icon/512.png","hash":"64e11f225c35caa6ef2612d613026c52cfd3557e","modified":1697766987554},{"_id":"public/img/qweather-color-icon/901.png","hash":"f6b3f1cd64e9c325e9dc3ab42469baa5c5119c2d","modified":1697766987554},{"_id":"public/css/0c63d269.css","hash":"6b9b9796cf8ff9349b724f4b789f1347eaa0d476","modified":1697766987554},{"_id":"public/css/206.a3a4e130.css","hash":"f8c04ec30e94eb972ff315b8c1eef655b9e8a03e","modified":1697766987554},{"_id":"public/css/271.54fa1675.css","hash":"845cb754fd4ea780279a16e01a345d55889866e2","modified":1697766987554},{"_id":"public/css/21.88950121.css","hash":"44c9b83ffe9151e2e233c2f55b6e89b30ea7c7bb","modified":1697766987554},{"_id":"public/css/2cd7dba2.css","hash":"dbc4f3071866019f0faae76620928ddf2f6700e6","modified":1697766987554},{"_id":"public/css/291.a8323266.css","hash":"e18068692b42ef4b76adc55d5ddc9f2bb10203f4","modified":1697766987554},{"_id":"public/css/2f1ea598.css","hash":"ac520cdae0399c2b818dcac34c5ff58fd204d10f","modified":1697766987554},{"_id":"public/css/3efc6cb5.css","hash":"1f1958bfd921ac3eea83a1e14ed97e8e83b31fb6","modified":1697766987554},{"_id":"public/css/3a4a90d1.css","hash":"4ffc2c5e9f1afd4fa74d7d9b785e0697cd7fb770","modified":1697766987554},{"_id":"public/css/618.6513d67e.css","hash":"660188677fab2c0946ac4b8ed81611ad5472feb8","modified":1697766987554},{"_id":"public/css/429.fb1dabcb.css","hash":"1f2b77bab319123d193042b9990056abe9f2fd73","modified":1697766987554},{"_id":"public/css/4c3d0e88.css","hash":"c4a5bf3a1f7adf21c04d9950b02a67f516bbac9f","modified":1697766987554},{"_id":"public/css/766.64ad3c35.css","hash":"8434994030b9b9d0fa3a82df079c860f49543b82","modified":1697766987554},{"_id":"public/css/ccbcde32.css","hash":"3475deea0241c67fadc3de5149886e90af24f2e6","modified":1697766987554},{"_id":"public/css/945.fdf98cb0.css","hash":"f227a8697bf14eb75ba63d14a0608db53c9a50a1","modified":1697766987554},{"_id":"public/css/7c527814.css","hash":"7061b6b9c6fe1da1956a664b3ee7862ef257c716","modified":1697766987554},{"_id":"public/css/de5de8fb.css","hash":"a05682caa4e0b8a106578468f795dad472ee75da","modified":1697766987554},{"_id":"public/css/e01add4b.css","hash":"5fc672a8fb8b65d60c087cc908d5170eaac56e0c","modified":1697766987554},{"_id":"public/css/f3729dde.css","hash":"2a7faa0c3816e3b653fb4540fa63504a26b2051f","modified":1697766987554},{"_id":"public/css/aeb44e7a.css","hash":"95b181f50e6adb98be13bb60983edb155a83f6d7","modified":1697766987554},{"_id":"public/css/efca006a.css","hash":"97972d1b7ca177983b39a67e772736f661637468","modified":1697766987554},{"_id":"public/css/922.9efa0b6b.css","hash":"721bc1b89ae059267d9b4aa3cc37f5c1ff8f32c3","modified":1697766987554},{"_id":"public/js/206.759361ed.js","hash":"129b5fd004afbbe4ab06cf6e944097b42c98655b","modified":1697766987554},{"_id":"public/js/271.ee88a6de.js","hash":"2d93e1c6f51c16e6cc0c41740dc1de5a0c362926","modified":1697766987554},{"_id":"public/js/291.4ac6984b.js","hash":"b5bb3c24cbcb7d09604c8c66c9d4470e6a2fd449","modified":1697766987554},{"_id":"public/js/1247bc3e.js","hash":"1d0335fdedecd72daa5eb2288a8891ab2e83e55d","modified":1697766987554},{"_id":"public/js/21.282c05e7.js","hash":"78359415e9f39c9c2119551ac2a97ba9f15af294","modified":1697766987554},{"_id":"public/js/3cf4fd98.js","hash":"0d51155f6dc08d1d8c693d210c1407b2e26b5685","modified":1697766987554},{"_id":"public/js/31d6cfe0.js","hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709","modified":1697766987554},{"_id":"public/js/430dbbd6.js","hash":"ff77ecc0d3b8bee105dabbaccefdb83b07a09e47","modified":1697766987554},{"_id":"public/js/618.1a58fba9.js","hash":"afbe73ca7b78196e48dd9147a12db960d17589ff","modified":1697766987554},{"_id":"public/js/922.689e0633.js","hash":"1757f732da655e7dc36fe4a23d29b72a549e9423","modified":1697766987554},{"_id":"public/js/766.9503a62c.js","hash":"9f2114b6ac69ab0a67b1c88c5f6c48ff244185f7","modified":1697766987554},{"_id":"public/js/945.0313a94c.js","hash":"ccc3bda115641d497837d4cf8e93f776f0e64c6d","modified":1697766987554},{"_id":"public/js/96ea39da.js","hash":"a6c6a3f3afb38e8326846eb8eac1bbadd48ac6d3","modified":1697766987554},{"_id":"public/js/429.bc4769cb.js","hash":"926f0c003b8cfc0f4eb78ab6367aab9228d31abf","modified":1697766987554},{"_id":"public/js/ca6b30b5.js","hash":"481a8f20c3d4e565c1ea5dafe4218597d051a9fc","modified":1697766987554},{"_id":"public/js/85d1c72e.js","hash":"8ec5c0c8f9dff40d1fc2d16de3baa51442e12be2","modified":1697766987554},{"_id":"public/js/f8b20eb9.js","hash":"86cff2cb169c614dedd464b373d94322328cb185","modified":1697766987554},{"_id":"public/js/07f44e09.js","hash":"e8a21a4252ad34adc1a54066eab32a26a7313940","modified":1697766987554},{"_id":"public/img/logo.png","hash":"05730ab0dadd5036509f942834278eef683994dd","modified":1697766987554}],"Category":[{"name":"Hexo","_id":"clnxymnq70002cqz3adnc6tnq"}],"Data":[],"Page":[],"Post":[{"title":"Linear 入门","top":0,"status":"doing","_content":"\n# 配置项\n\n","source":"_posts/Linear 入门.md","raw":"---\ntitle: Linear 入门\ntop: 0\ncategories:\n - Hexo\nstatus: doing\n---\n\n# 配置项\n\n","slug":"Linear 入门","published":1,"date":"2023-10-20T01:08:12.352Z","updated":"2023-10-20T01:25:29.685Z","comments":1,"layout":"post","photos":[],"link":"","_id":"clnxymnq30000cqz38nple7uq","content":"

配置项

","site":{"data":{}},"excerpt":"","more":"

配置项

"},{"title":"Linear-Starter-Guide","top":0,"status":"doing","_content":"\n[中文文档](/Linear主题文档)\n\n# Configuration\n\ncontinued...😁\n","source":"_posts/Linear-Starter-Guide.md","raw":"---\ntitle: Linear-Starter-Guide\ntop: 0\ncategories:\n - Hexo\nstatus: doing\n---\n\n[中文文档](/Linear主题文档)\n\n# Configuration\n\ncontinued...😁\n","slug":"Linear-Starter-Guide","published":1,"date":"2023-10-20T01:05:56.355Z","updated":"2023-10-20T01:26:53.835Z","comments":1,"layout":"post","photos":[],"link":"","_id":"clnxymnq60001cqz3cjxqc1ep","content":"

中文文档

\n

Configuration

continued…😁

\n","site":{"data":{}},"excerpt":"","more":"

中文文档

\n

Configuration

continued…😁

\n"},{"title":"Hello World","_content":"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).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/one-command-deployment.html)\n","source":"_posts/hello-world.md","raw":"---\ntitle: Hello World\n---\nWelcome 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).\n\n## Quick Start\n\n### Create a new post\n\n``` bash\n$ hexo new \"My New Post\"\n```\n\nMore info: [Writing](https://hexo.io/docs/writing.html)\n\n### Run server\n\n``` bash\n$ hexo server\n```\n\nMore info: [Server](https://hexo.io/docs/server.html)\n\n### Generate static files\n\n``` bash\n$ hexo generate\n```\n\nMore info: [Generating](https://hexo.io/docs/generating.html)\n\n### Deploy to remote sites\n\n``` bash\n$ hexo deploy\n```\n\nMore info: [Deployment](https://hexo.io/docs/one-command-deployment.html)\n","slug":"hello-world","published":1,"date":"2023-10-20T01:05:10.846Z","updated":"2023-10-20T01:05:10.846Z","comments":1,"layout":"post","photos":[],"link":"","_id":"clnxymnqc0006cqz3dcg80rem","content":"

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

\n

Quick Start

Create a new post

$ hexo new \"My New Post\"
\n\n

More info: Writing

\n

Run server

$ hexo server
\n\n

More info: Server

\n

Generate static files

$ hexo generate
\n\n

More info: Generating

\n

Deploy to remote sites

$ hexo deploy
\n\n

More info: Deployment

\n","site":{"data":{}},"excerpt":"","more":"

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

\n

Quick Start

Create a new post

$ hexo new \"My New Post\"
\n\n

More info: Writing

\n

Run server

$ hexo server
\n\n

More info: Server

\n

Generate static files

$ hexo generate
\n\n

More info: Generating

\n

Deploy to remote sites

$ hexo deploy
\n\n

More info: Deployment

\n"}],"PostAsset":[],"PostCategory":[{"post_id":"clnxymnq30000cqz38nple7uq","category_id":"clnxymnq70002cqz3adnc6tnq","_id":"clnxymnq90004cqz375ure7f9"},{"post_id":"clnxymnq60001cqz3cjxqc1ep","category_id":"clnxymnq70002cqz3adnc6tnq","_id":"clnxymnq90005cqz3g8er4zxy"}],"PostTag":[],"Tag":[]}} \ No newline at end of file +{"meta":{"version":1,"warehouse":"4.0.2"},"models":{"Asset":[{"_id":"themes/hexo-theme-linear/source/css/0c63d269.css","path":"css/0c63d269.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/206.a3a4e130.css","path":"css/206.a3a4e130.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/21.88950121.css","path":"css/21.88950121.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/291.a8323266.css","path":"css/291.a8323266.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/271.54fa1675.css","path":"css/271.54fa1675.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/2cd7dba2.css","path":"css/2cd7dba2.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/2f1ea598.css","path":"css/2f1ea598.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/3a4a90d1.css","path":"css/3a4a90d1.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/3efc6cb5.css","path":"css/3efc6cb5.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/429.fb1dabcb.css","path":"css/429.fb1dabcb.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/4c3d0e88.css","path":"css/4c3d0e88.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/618.6513d67e.css","path":"css/618.6513d67e.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/766.64ad3c35.css","path":"css/766.64ad3c35.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/922.9efa0b6b.css","path":"css/922.9efa0b6b.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/7c527814.css","path":"css/7c527814.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/aeb44e7a.css","path":"css/aeb44e7a.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/945.fdf98cb0.css","path":"css/945.fdf98cb0.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/ccbcde32.css","path":"css/ccbcde32.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/de5de8fb.css","path":"css/de5de8fb.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/e01add4b.css","path":"css/e01add4b.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/efca006a.css","path":"css/efca006a.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/css/f3729dde.css","path":"css/f3729dde.css","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/font/linear.woff2","path":"font/linear.woff2","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/font/motto.woff","path":"font/motto.woff","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/favicon.svg","path":"img/favicon.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-arrow-left.svg","path":"img/icon-arrow-left.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-book.svg","path":"img/icon-book.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-date.svg","path":"img/icon-date.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-click.svg","path":"img/icon-click.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-layout.svg","path":"img/icon-layout.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-link.svg","path":"img/icon-link.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-moon.svg","path":"img/icon-moon.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon-sun.svg","path":"img/icon-sun.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon1.svg","path":"img/icon1.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon3.svg","path":"img/icon3.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/icon2.svg","path":"img/icon2.svg","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/logo.png","path":"img/logo.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js","path":"js/07f44e09.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js.LICENSE.txt","path":"js/07f44e09.js.LICENSE.txt","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/1247bc3e.js","path":"js/1247bc3e.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/206.759361ed.js","path":"js/206.759361ed.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/21.282c05e7.js","path":"js/21.282c05e7.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/271.ee88a6de.js","path":"js/271.ee88a6de.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/291.4ac6984b.js","path":"js/291.4ac6984b.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/31d6cfe0.js","path":"js/31d6cfe0.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/3cf4fd98.js","path":"js/3cf4fd98.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/429.bc4769cb.js","path":"js/429.bc4769cb.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/430dbbd6.js","path":"js/430dbbd6.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/618.1a58fba9.js","path":"js/618.1a58fba9.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/766.9503a62c.js","path":"js/766.9503a62c.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/85d1c72e.js","path":"js/85d1c72e.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/922.689e0633.js","path":"js/922.689e0633.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/945.0313a94c.js","path":"js/945.0313a94c.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/96ea39da.js","path":"js/96ea39da.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/ca6b30b5.js","path":"js/ca6b30b5.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/js/f8b20eb9.js","path":"js/f8b20eb9.js","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/100.png","path":"img/qweather-color-icon/100.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/101.png","path":"img/qweather-color-icon/101.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/102.png","path":"img/qweather-color-icon/102.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/103.png","path":"img/qweather-color-icon/103.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/104.png","path":"img/qweather-color-icon/104.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/150.png","path":"img/qweather-color-icon/150.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/151.png","path":"img/qweather-color-icon/151.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/152.png","path":"img/qweather-color-icon/152.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/153.png","path":"img/qweather-color-icon/153.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/300.png","path":"img/qweather-color-icon/300.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/301.png","path":"img/qweather-color-icon/301.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/302.png","path":"img/qweather-color-icon/302.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/303.png","path":"img/qweather-color-icon/303.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/304.png","path":"img/qweather-color-icon/304.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/305.png","path":"img/qweather-color-icon/305.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/306.png","path":"img/qweather-color-icon/306.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/307.png","path":"img/qweather-color-icon/307.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/308.png","path":"img/qweather-color-icon/308.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/309.png","path":"img/qweather-color-icon/309.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/310.png","path":"img/qweather-color-icon/310.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/311.png","path":"img/qweather-color-icon/311.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/312.png","path":"img/qweather-color-icon/312.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/313.png","path":"img/qweather-color-icon/313.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/314.png","path":"img/qweather-color-icon/314.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/315.png","path":"img/qweather-color-icon/315.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/316.png","path":"img/qweather-color-icon/316.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/317.png","path":"img/qweather-color-icon/317.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/318.png","path":"img/qweather-color-icon/318.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/350.png","path":"img/qweather-color-icon/350.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/351.png","path":"img/qweather-color-icon/351.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/400.png","path":"img/qweather-color-icon/400.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/399.png","path":"img/qweather-color-icon/399.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/401.png","path":"img/qweather-color-icon/401.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/402.png","path":"img/qweather-color-icon/402.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/403.png","path":"img/qweather-color-icon/403.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/404.png","path":"img/qweather-color-icon/404.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/406.png","path":"img/qweather-color-icon/406.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/407.png","path":"img/qweather-color-icon/407.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/409.png","path":"img/qweather-color-icon/409.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/408.png","path":"img/qweather-color-icon/408.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/410.png","path":"img/qweather-color-icon/410.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/456.png","path":"img/qweather-color-icon/456.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/457.png","path":"img/qweather-color-icon/457.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/499.png","path":"img/qweather-color-icon/499.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/500.png","path":"img/qweather-color-icon/500.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/502.png","path":"img/qweather-color-icon/502.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/501.png","path":"img/qweather-color-icon/501.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/503.png","path":"img/qweather-color-icon/503.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/504.png","path":"img/qweather-color-icon/504.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/507.png","path":"img/qweather-color-icon/507.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/508.png","path":"img/qweather-color-icon/508.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/510.png","path":"img/qweather-color-icon/510.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/509.png","path":"img/qweather-color-icon/509.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/511.png","path":"img/qweather-color-icon/511.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/512.png","path":"img/qweather-color-icon/512.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/514.png","path":"img/qweather-color-icon/514.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/513.png","path":"img/qweather-color-icon/513.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/515.png","path":"img/qweather-color-icon/515.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/900.png","path":"img/qweather-color-icon/900.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/901.png","path":"img/qweather-color-icon/901.png","modified":1,"renderable":1},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/999.png","path":"img/qweather-color-icon/999.png","modified":1,"renderable":1}],"Cache":[{"_id":"source/_posts/front-end/verdaccio.md","hash":"50453d3e60c7e63e31bc9f3efcebc241d317fae0","modified":1697768855158},{"_id":"source/_posts/Linear 入门.md","hash":"1d34cf44b02d833b768dfe29fbba9dbd9fce63e3","modified":1697765129685},{"_id":"source/_posts/Linear-Starter-Guide.md","hash":"fccd455d2345ebbfb02ba8156a929102da289ad2","modified":1697765213835},{"_id":"themes/hexo-theme-linear/source/js/31d6cfe0.js","hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709","modified":1697766724527},{"_id":"themes/hexo-theme-linear/languages/es.yml","hash":"3e47b0f87a02d7f8ece63becb37fcfbb1ed32b16","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/ar.yml","hash":"de613e0512e106e67c39c5534ccfea29eb15f557","modified":1697766724476},{"_id":"themes/hexo-theme-linear/languages/de.yml","hash":"20ccde52ba59700211177dbc6a0658489d3fabda","modified":1697766724476},{"_id":"themes/hexo-theme-linear/languages/fr.yml","hash":"125ed203d8ce117f61ab4e3e4ffca58cd7bb6c61","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/ko.yml","hash":"4cd415dee4bcdbdefd1b7df6caea76ccc258c49a","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/en.yml","hash":"5d97a1ba5a02e24443b37bc000567fdf17340bd2","modified":1697766724476},{"_id":"themes/hexo-theme-linear/languages/ja.yml","hash":"944eea06cacb1aeb58833eb273f32433d323768e","modified":1697766724477},{"_id":"themes/hexo-theme-linear/languages/zh-TW.yml","hash":"ad746b7bd795e81ed8f34e7fe05faf7e1cd999d7","modified":1697766724478},{"_id":"themes/hexo-theme-linear/_config.yml","hash":"3b03792d72cfda4e250faba8dea790c7f7a63690","modified":1697768622100},{"_id":"themes/hexo-theme-linear/layout/airplane.ejs","hash":"28521fce0f5dbd1fd62c612ae68b78ba254faef3","modified":1697766724483},{"_id":"themes/hexo-theme-linear/languages/ru.yml","hash":"974811181b770e78e4571dfa87aed51fd3863043","modified":1697766724478},{"_id":"themes/hexo-theme-linear/languages/zh-CN.yml","hash":"cf4c13270d7ac15baea1e774064f27bd2d2f8f32","modified":1697766724478},{"_id":"themes/hexo-theme-linear/layout/archive.ejs","hash":"d63bc4ebac416b4f5b80fb673ec0a3f092a4e255","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/breadcrumb.ejs","hash":"81c91ad7b618a760b901741ff0d87333acddf60c","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/homebar.ejs","hash":"fdc00e93db6bfd508e3cd44aef084124a00b3424","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/index.ejs","hash":"f9981d732327e420c7a727ee8cced34327d7fd31","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/navigation.ejs","hash":"b92b8cf5698a1b7631a2d463da6891b8ddc078ed","modified":1697766724484},{"_id":"themes/hexo-theme-linear/layout/category.ejs","hash":"679f6aa009bc1f681fe9c2305c79f96e87e119ea","modified":1697766724483},{"_id":"themes/hexo-theme-linear/layout/layout.ejs","hash":"0733d5f564941dd109bd2eb72acfad95cf3c4f89","modified":1697766724484},{"_id":"themes/hexo-theme-linear/scripts/mermaid_tag.js","hash":"bc74c79cf41709da1993597acaebae96d6b3761d","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/post.ejs","hash":"891458ae52a93e8070513b2a35a49d0afdb4a962","modified":1697766724484},{"_id":"themes/hexo-theme-linear/scripts/generate_excerpt.js","hash":"a7cfe46e7e389b1654c81f3e9a8a934dd80d735a","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/postCopyright.ejs","hash":"83a579d0e8d7cf341ac8acc9a733d5046e224e32","modified":1697766724484},{"_id":"themes/hexo-theme-linear/scripts/postIcon.js","hash":"73362a6570b00613681425b59a30903be671cd91","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/weather.ejs","hash":"04052e95f80ac11765b90019b149d7fb1bb68bab","modified":1697766724485},{"_id":"themes/hexo-theme-linear/scripts/post_counter.js","hash":"62aaa594dafcffe5aa457628eaf183075cabe159","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/welcome.ejs","hash":"ce7419f61089411de4cea72165a4ce89c4d55fbd","modified":1697766724485},{"_id":"themes/hexo-theme-linear/scripts/sort_posts.js","hash":"5cedcd663fd7eb1b255360ea9eb6089fd55e959c","modified":1697766724491},{"_id":"themes/hexo-theme-linear/layout/search.ejs","hash":"da088b901ea192cbd8c6fc451094bc93890ecc4d","modified":1697766724484},{"_id":"themes/hexo-theme-linear/source/css/206.a3a4e130.css","hash":"f8c04ec30e94eb972ff315b8c1eef655b9e8a03e","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/0c63d269.css","hash":"6b9b9796cf8ff9349b724f4b789f1347eaa0d476","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/291.a8323266.css","hash":"e18068692b42ef4b76adc55d5ddc9f2bb10203f4","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/2cd7dba2.css","hash":"dbc4f3071866019f0faae76620928ddf2f6700e6","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/271.54fa1675.css","hash":"845cb754fd4ea780279a16e01a345d55889866e2","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/21.88950121.css","hash":"44c9b83ffe9151e2e233c2f55b6e89b30ea7c7bb","modified":1697766724500},{"_id":"themes/hexo-theme-linear/source/css/2f1ea598.css","hash":"ac520cdae0399c2b818dcac34c5ff58fd204d10f","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/3efc6cb5.css","hash":"1f1958bfd921ac3eea83a1e14ed97e8e83b31fb6","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/4c3d0e88.css","hash":"c4a5bf3a1f7adf21c04d9950b02a67f516bbac9f","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/618.6513d67e.css","hash":"660188677fab2c0946ac4b8ed81611ad5472feb8","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/3a4a90d1.css","hash":"4ffc2c5e9f1afd4fa74d7d9b785e0697cd7fb770","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/766.64ad3c35.css","hash":"8434994030b9b9d0fa3a82df079c860f49543b82","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/922.9efa0b6b.css","hash":"721bc1b89ae059267d9b4aa3cc37f5c1ff8f32c3","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/aeb44e7a.css","hash":"95b181f50e6adb98be13bb60983edb155a83f6d7","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/7c527814.css","hash":"7061b6b9c6fe1da1956a664b3ee7862ef257c716","modified":1697766724502},{"_id":"themes/hexo-theme-linear/source/css/429.fb1dabcb.css","hash":"1f2b77bab319123d193042b9990056abe9f2fd73","modified":1697766724501},{"_id":"themes/hexo-theme-linear/source/css/945.fdf98cb0.css","hash":"f227a8697bf14eb75ba63d14a0608db53c9a50a1","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/ccbcde32.css","hash":"3475deea0241c67fadc3de5149886e90af24f2e6","modified":1697766724503},{"_id":"themes/hexo-theme-linear/source/css/de5de8fb.css","hash":"a05682caa4e0b8a106578468f795dad472ee75da","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/css/efca006a.css","hash":"97972d1b7ca177983b39a67e772736f661637468","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/css/e01add4b.css","hash":"5fc672a8fb8b65d60c087cc908d5170eaac56e0c","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/css/f3729dde.css","hash":"2a7faa0c3816e3b653fb4540fa63504a26b2051f","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/img/favicon.svg","hash":"6e88f8a231bb0a7ae4cc4598f85b6d346a286095","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/font/motto.woff","hash":"755620f3bad3ebdf683c074043104d4c11f8d23e","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/img/icon-book.svg","hash":"d5e4064468dde477bf9a630c3fababec41316708","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/img/icon-date.svg","hash":"b391e34adafed83ef52d836fd6f81618494c4c6b","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-click.svg","hash":"b10df8b886a8b2d44293b26f42b440c9aedb66a7","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/font/linear.woff2","hash":"57cac19ad34a50d5a4da5e471e08174c950ce5fb","modified":1697766724504},{"_id":"themes/hexo-theme-linear/source/img/icon-arrow-left.svg","hash":"a36362d2555e8b836fcec1f7eeeae4588a871bdd","modified":1697766724505},{"_id":"themes/hexo-theme-linear/source/img/icon-link.svg","hash":"436b5ee7ef2d28766e86ac1e65a567d1e786c1b3","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-moon.svg","hash":"032be7ed3d2320f22069e2efb2fb7f60592d6212","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon1.svg","hash":"f15fbcecbaa00db99aeaca9807922514f6452d02","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon-layout.svg","hash":"108ef43073a5b92552dc00744a9f11db8e5ac0a2","modified":1697766724506},{"_id":"themes/hexo-theme-linear/source/img/icon-sun.svg","hash":"57a0ce52ecce7188eaac5e06eab54609a8e572c8","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/img/icon2.svg","hash":"cc598540651110d977afd26dc0a1f01bbc95bf21","modified":1697766724507},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js.LICENSE.txt","hash":"35ad54c8f1627db94ca60022d50f416d495b72c6","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/js/1247bc3e.js","hash":"1d0335fdedecd72daa5eb2288a8891ab2e83e55d","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/js/07f44e09.js","hash":"e8a21a4252ad34adc1a54066eab32a26a7313940","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/js/206.759361ed.js","hash":"129b5fd004afbbe4ab06cf6e944097b42c98655b","modified":1697766724526},{"_id":"themes/hexo-theme-linear/source/img/icon3.svg","hash":"a1a9dcee7703ec48f2d92b0d533b62fef16097fc","modified":1697766724508},{"_id":"themes/hexo-theme-linear/source/js/271.ee88a6de.js","hash":"2d93e1c6f51c16e6cc0c41740dc1de5a0c362926","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/21.282c05e7.js","hash":"78359415e9f39c9c2119551ac2a97ba9f15af294","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/3cf4fd98.js","hash":"0d51155f6dc08d1d8c693d210c1407b2e26b5685","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/291.4ac6984b.js","hash":"b5bb3c24cbcb7d09604c8c66c9d4470e6a2fd449","modified":1697766724527},{"_id":"themes/hexo-theme-linear/source/js/429.bc4769cb.js","hash":"926f0c003b8cfc0f4eb78ab6367aab9228d31abf","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/430dbbd6.js","hash":"ff77ecc0d3b8bee105dabbaccefdb83b07a09e47","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/618.1a58fba9.js","hash":"afbe73ca7b78196e48dd9147a12db960d17589ff","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/85d1c72e.js","hash":"8ec5c0c8f9dff40d1fc2d16de3baa51442e12be2","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/922.689e0633.js","hash":"1757f732da655e7dc36fe4a23d29b72a549e9423","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/js/945.0313a94c.js","hash":"ccc3bda115641d497837d4cf8e93f776f0e64c6d","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/js/f8b20eb9.js","hash":"86cff2cb169c614dedd464b373d94322328cb185","modified":1697766724530},{"_id":"themes/hexo-theme-linear/source/js/766.9503a62c.js","hash":"9f2114b6ac69ab0a67b1c88c5f6c48ff244185f7","modified":1697766724528},{"_id":"themes/hexo-theme-linear/source/js/ca6b30b5.js","hash":"481a8f20c3d4e565c1ea5dafe4218597d051a9fc","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/100.png","hash":"ad42001979a0dbb8807c128b871dc28161b8c191","modified":1697766724510},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/102.png","hash":"74d7cfa4f23850a456c16d0e0956264e920f7a85","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/101.png","hash":"890888efd8db7a3f29427e476ce3433f4a564321","modified":1697766724510},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/104.png","hash":"36add97ed90d57e691e6e15d3456898a42dccb16","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/150.png","hash":"572b4a6e56271b89208daa538f02416d50249347","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/151.png","hash":"8041e428fc369be40f9e993f4f718ae99c7662fa","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/103.png","hash":"656d81bd50728c7ba62572e838db7c355d522e51","modified":1697766724511},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/152.png","hash":"3ec0a1ac063ae068cc9d728eef88a9a6d7859153","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/153.png","hash":"3eb50d325ec84e1248585d347471b1093a83909c","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/js/96ea39da.js","hash":"a6c6a3f3afb38e8326846eb8eac1bbadd48ac6d3","modified":1697766724529},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/300.png","hash":"bd67445ff764f3f1d4eeb81625372585bb537b07","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/302.png","hash":"371fa4d79b6a93573fde068f179829ed97c8f4f8","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/303.png","hash":"453442f93e62ac98884aae173530f26272d97ad6","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/304.png","hash":"3669eb04ee87dca604f70f7404c0ecb303d17af4","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/305.png","hash":"618e18bf06b5d12d64269b30d6f044fc356d24b0","modified":1697766724513},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/306.png","hash":"69b55e71e8da4e0fe223ff76b9a68f98e4134b3d","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/307.png","hash":"02a08e002d21a10e0854b1036556fb81b0308be3","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/308.png","hash":"ace460a40174aa90dde6c2ef71663f30cec24193","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/310.png","hash":"9315203066fa97a7d10f2a6fb0fd3ce5b7805126","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/311.png","hash":"ab5c5059f354da2f9525b30ee81312fbfa4749bf","modified":1697766724515},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/309.png","hash":"c5140be49b8936e5d30380f14f7dce49a7be7cb5","modified":1697766724514},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/313.png","hash":"afa70386816623e847c09f51032212d2520d1740","modified":1697766724515},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/314.png","hash":"110f9fe81f80b8f372b7472fbcfd9c0071b33151","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/312.png","hash":"c672d7373fce89803b5e8d06420e158f11ea346f","modified":1697766724515},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/301.png","hash":"cc616d4c7ae6abbe0338f418fe35acce93c46164","modified":1697766724512},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/315.png","hash":"2100a23ee6d584227715164263c43875e8d8946c","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/316.png","hash":"4de1ac0254507c5509fc4d04e208fd81d2af7b34","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/317.png","hash":"7e60725abd3b91b9ba388ad9b9f642690c39ff9e","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/351.png","hash":"3ab30470a65acb8fe879aa7adc9064284abd8407","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/350.png","hash":"f29c1aa55c4afd3df17aef7885a35b0bd177d771","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/318.png","hash":"7a042920165671cdbfef6c58596a80f9a1f6f016","modified":1697766724516},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/400.png","hash":"79444a48a0e416e4cac1eb319496f495091f4c86","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/401.png","hash":"279c8bc00b4e57db9b1095df64044ec80b37edb0","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/402.png","hash":"033fc236885a2bf7007d97eb054b0c5885035be5","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/403.png","hash":"dfad1a525c4467c3e95e281befdf813e145620df","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/404.png","hash":"112e73e641d1a30712993b5dca681a5e033831ee","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/407.png","hash":"82223792a5e3e556148b4663f195ef22044c143a","modified":1697766724519},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/409.png","hash":"aed269911d0249a700b4f3890c424f00f4a27e1e","modified":1697766724521},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/406.png","hash":"b9cd0421518e0a76041285e5bf0c1666a93428a5","modified":1697766724518},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/399.png","hash":"993ddcd386480d211ec9b2e56656d659bb6c453b","modified":1697766724517},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/408.png","hash":"02b34a66020c9f3e5173702d30e5a7b69139bade","modified":1697766724519},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/410.png","hash":"9170b32d6b7f644ce49116f3e35d35558bae6536","modified":1697766724521},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/456.png","hash":"dd16b957cc544730afab8d2712821dd6c77f5167","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/499.png","hash":"2b51631144a7c0f813b6425d4daa30c4d4e8bd38","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/502.png","hash":"4146081a2635ff88fa14e38ed8d360d3b4fa74dd","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/500.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/457.png","hash":"5dffe7e9139bfb697b046c427b9ef0ed6ffa95c7","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/501.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697766724522},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/503.png","hash":"9415147c4bcebadd7f3089339064b8120c8d4089","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/504.png","hash":"defba93520719f72b217583062ccc79abd5b445e","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/509.png","hash":"3bc779bfbcab94a79c91b26288e2e7b67412d15e","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/510.png","hash":"524131e401d0b150dab2733af336f4649b8ade74","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/508.png","hash":"ae98a3217df26021ec2f667f099d27575c912bf4","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/512.png","hash":"64e11f225c35caa6ef2612d613026c52cfd3557e","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/511.png","hash":"e2efe07a29446ebecd313ccd8a2c7d57a670f203","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/507.png","hash":"426d5a73a482ac5721e7da2141e4fe704f50b608","modified":1697766724523},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/514.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/513.png","hash":"ceff3dfd109a990c9595276ad6b56061bb662e5e","modified":1697766724524},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/900.png","hash":"6eacf8df641c6096feb746c7544a825d3c65bf47","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/901.png","hash":"f6b3f1cd64e9c325e9dc3ab42469baa5c5119c2d","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/999.png","hash":"74e4fa5bdd815d988b55525d4e7f6d40bf1080d4","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/qweather-color-icon/515.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697766724525},{"_id":"themes/hexo-theme-linear/source/img/logo.png","hash":"05730ab0dadd5036509f942834278eef683994dd","modified":1697766724508},{"_id":"public/2023/10/20/Linear 入门/index.html","hash":"2fbb3e60d350d3ae1926c3087ee916f644135a38","modified":1697768866266},{"_id":"public/2023/10/20/Linear-Starter-Guide/index.html","hash":"d502036d28fbd976030a445f8dc139facdee5171","modified":1697768866266},{"_id":"public/archives/index.html","hash":"4c45612048995ea192afc5589dfef7e69fff4429","modified":1697768866266},{"_id":"public/archives/2023/10/index.html","hash":"4c45612048995ea192afc5589dfef7e69fff4429","modified":1697768866266},{"_id":"public/archives/2023/index.html","hash":"4c45612048995ea192afc5589dfef7e69fff4429","modified":1697768866266},{"_id":"public/categories/Hexo/index.html","hash":"369fe1a1abfaef2a81a506c3f83c2013d4b858f6","modified":1697768866266},{"_id":"public/categories/Front-End/index.html","hash":"72d2501a9a7562d138e3c6d584a236b2eedc5b72","modified":1697768866266},{"_id":"public/index.html","hash":"c05a820d4e8cc95bda18746bc3568129307b6709","modified":1697768866266},{"_id":"public/2023/10/20/front-end/verdaccio/index.html","hash":"0a0e2acdd361e35038c96166d3f331c90ac0437e","modified":1697768866266},{"_id":"public/font/motto.woff","hash":"755620f3bad3ebdf683c074043104d4c11f8d23e","modified":1697768866266},{"_id":"public/img/favicon.svg","hash":"6e88f8a231bb0a7ae4cc4598f85b6d346a286095","modified":1697768866266},{"_id":"public/img/icon-arrow-left.svg","hash":"a36362d2555e8b836fcec1f7eeeae4588a871bdd","modified":1697768866266},{"_id":"public/font/linear.woff2","hash":"57cac19ad34a50d5a4da5e471e08174c950ce5fb","modified":1697768866266},{"_id":"public/img/icon-book.svg","hash":"d5e4064468dde477bf9a630c3fababec41316708","modified":1697768866266},{"_id":"public/img/icon-click.svg","hash":"b10df8b886a8b2d44293b26f42b440c9aedb66a7","modified":1697768866266},{"_id":"public/img/icon-date.svg","hash":"b391e34adafed83ef52d836fd6f81618494c4c6b","modified":1697768866266},{"_id":"public/img/icon-moon.svg","hash":"032be7ed3d2320f22069e2efb2fb7f60592d6212","modified":1697768866266},{"_id":"public/img/icon-layout.svg","hash":"108ef43073a5b92552dc00744a9f11db8e5ac0a2","modified":1697768866266},{"_id":"public/img/icon-link.svg","hash":"436b5ee7ef2d28766e86ac1e65a567d1e786c1b3","modified":1697768866266},{"_id":"public/img/icon-sun.svg","hash":"57a0ce52ecce7188eaac5e06eab54609a8e572c8","modified":1697768866266},{"_id":"public/img/icon1.svg","hash":"f15fbcecbaa00db99aeaca9807922514f6452d02","modified":1697768866266},{"_id":"public/img/icon3.svg","hash":"a1a9dcee7703ec48f2d92b0d533b62fef16097fc","modified":1697768866266},{"_id":"public/img/icon2.svg","hash":"cc598540651110d977afd26dc0a1f01bbc95bf21","modified":1697768866266},{"_id":"public/img/qweather-color-icon/101.png","hash":"890888efd8db7a3f29427e476ce3433f4a564321","modified":1697768866266},{"_id":"public/img/qweather-color-icon/100.png","hash":"ad42001979a0dbb8807c128b871dc28161b8c191","modified":1697768866266},{"_id":"public/img/qweather-color-icon/102.png","hash":"74d7cfa4f23850a456c16d0e0956264e920f7a85","modified":1697768866266},{"_id":"public/img/qweather-color-icon/104.png","hash":"36add97ed90d57e691e6e15d3456898a42dccb16","modified":1697768866266},{"_id":"public/img/qweather-color-icon/103.png","hash":"656d81bd50728c7ba62572e838db7c355d522e51","modified":1697768866266},{"_id":"public/img/qweather-color-icon/150.png","hash":"572b4a6e56271b89208daa538f02416d50249347","modified":1697768866266},{"_id":"public/img/qweather-color-icon/151.png","hash":"8041e428fc369be40f9e993f4f718ae99c7662fa","modified":1697768866266},{"_id":"public/img/qweather-color-icon/152.png","hash":"3ec0a1ac063ae068cc9d728eef88a9a6d7859153","modified":1697768866266},{"_id":"public/img/qweather-color-icon/153.png","hash":"3eb50d325ec84e1248585d347471b1093a83909c","modified":1697768866266},{"_id":"public/js/07f44e09.js.LICENSE.txt","hash":"35ad54c8f1627db94ca60022d50f416d495b72c6","modified":1697768866266},{"_id":"public/img/qweather-color-icon/300.png","hash":"bd67445ff764f3f1d4eeb81625372585bb537b07","modified":1697768866266},{"_id":"public/img/qweather-color-icon/304.png","hash":"3669eb04ee87dca604f70f7404c0ecb303d17af4","modified":1697768866266},{"_id":"public/img/qweather-color-icon/301.png","hash":"cc616d4c7ae6abbe0338f418fe35acce93c46164","modified":1697768866266},{"_id":"public/img/qweather-color-icon/302.png","hash":"371fa4d79b6a93573fde068f179829ed97c8f4f8","modified":1697768866266},{"_id":"public/img/qweather-color-icon/305.png","hash":"618e18bf06b5d12d64269b30d6f044fc356d24b0","modified":1697768866266},{"_id":"public/img/qweather-color-icon/303.png","hash":"453442f93e62ac98884aae173530f26272d97ad6","modified":1697768866266},{"_id":"public/img/qweather-color-icon/306.png","hash":"69b55e71e8da4e0fe223ff76b9a68f98e4134b3d","modified":1697768866266},{"_id":"public/img/qweather-color-icon/307.png","hash":"02a08e002d21a10e0854b1036556fb81b0308be3","modified":1697768866266},{"_id":"public/img/qweather-color-icon/308.png","hash":"ace460a40174aa90dde6c2ef71663f30cec24193","modified":1697768866266},{"_id":"public/img/qweather-color-icon/309.png","hash":"c5140be49b8936e5d30380f14f7dce49a7be7cb5","modified":1697768866266},{"_id":"public/img/qweather-color-icon/312.png","hash":"c672d7373fce89803b5e8d06420e158f11ea346f","modified":1697768866266},{"_id":"public/img/qweather-color-icon/311.png","hash":"ab5c5059f354da2f9525b30ee81312fbfa4749bf","modified":1697768866266},{"_id":"public/img/qweather-color-icon/310.png","hash":"9315203066fa97a7d10f2a6fb0fd3ce5b7805126","modified":1697768866266},{"_id":"public/img/qweather-color-icon/313.png","hash":"afa70386816623e847c09f51032212d2520d1740","modified":1697768866266},{"_id":"public/img/qweather-color-icon/314.png","hash":"110f9fe81f80b8f372b7472fbcfd9c0071b33151","modified":1697768866266},{"_id":"public/img/qweather-color-icon/315.png","hash":"2100a23ee6d584227715164263c43875e8d8946c","modified":1697768866266},{"_id":"public/img/qweather-color-icon/317.png","hash":"7e60725abd3b91b9ba388ad9b9f642690c39ff9e","modified":1697768866266},{"_id":"public/img/qweather-color-icon/318.png","hash":"7a042920165671cdbfef6c58596a80f9a1f6f016","modified":1697768866266},{"_id":"public/img/qweather-color-icon/350.png","hash":"f29c1aa55c4afd3df17aef7885a35b0bd177d771","modified":1697768866266},{"_id":"public/img/qweather-color-icon/316.png","hash":"4de1ac0254507c5509fc4d04e208fd81d2af7b34","modified":1697768866266},{"_id":"public/img/qweather-color-icon/351.png","hash":"3ab30470a65acb8fe879aa7adc9064284abd8407","modified":1697768866266},{"_id":"public/img/qweather-color-icon/400.png","hash":"79444a48a0e416e4cac1eb319496f495091f4c86","modified":1697768866266},{"_id":"public/img/qweather-color-icon/399.png","hash":"993ddcd386480d211ec9b2e56656d659bb6c453b","modified":1697768866266},{"_id":"public/img/qweather-color-icon/402.png","hash":"033fc236885a2bf7007d97eb054b0c5885035be5","modified":1697768866266},{"_id":"public/img/qweather-color-icon/403.png","hash":"dfad1a525c4467c3e95e281befdf813e145620df","modified":1697768866266},{"_id":"public/img/qweather-color-icon/404.png","hash":"112e73e641d1a30712993b5dca681a5e033831ee","modified":1697768866266},{"_id":"public/img/qweather-color-icon/401.png","hash":"279c8bc00b4e57db9b1095df64044ec80b37edb0","modified":1697768866266},{"_id":"public/img/qweather-color-icon/406.png","hash":"b9cd0421518e0a76041285e5bf0c1666a93428a5","modified":1697768866266},{"_id":"public/img/qweather-color-icon/407.png","hash":"82223792a5e3e556148b4663f195ef22044c143a","modified":1697768866266},{"_id":"public/img/qweather-color-icon/409.png","hash":"aed269911d0249a700b4f3890c424f00f4a27e1e","modified":1697768866266},{"_id":"public/img/qweather-color-icon/408.png","hash":"02b34a66020c9f3e5173702d30e5a7b69139bade","modified":1697768866266},{"_id":"public/img/qweather-color-icon/457.png","hash":"5dffe7e9139bfb697b046c427b9ef0ed6ffa95c7","modified":1697768866266},{"_id":"public/img/qweather-color-icon/456.png","hash":"dd16b957cc544730afab8d2712821dd6c77f5167","modified":1697768866266},{"_id":"public/img/qweather-color-icon/499.png","hash":"2b51631144a7c0f813b6425d4daa30c4d4e8bd38","modified":1697768866266},{"_id":"public/img/qweather-color-icon/410.png","hash":"9170b32d6b7f644ce49116f3e35d35558bae6536","modified":1697768866266},{"_id":"public/img/qweather-color-icon/500.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697768866266},{"_id":"public/img/qweather-color-icon/502.png","hash":"4146081a2635ff88fa14e38ed8d360d3b4fa74dd","modified":1697768866266},{"_id":"public/img/qweather-color-icon/503.png","hash":"9415147c4bcebadd7f3089339064b8120c8d4089","modified":1697768866266},{"_id":"public/img/qweather-color-icon/501.png","hash":"ddb4712d8f19bb8c197e600000dd2d51049f970d","modified":1697768866266},{"_id":"public/img/qweather-color-icon/504.png","hash":"defba93520719f72b217583062ccc79abd5b445e","modified":1697768866266},{"_id":"public/img/qweather-color-icon/508.png","hash":"ae98a3217df26021ec2f667f099d27575c912bf4","modified":1697768866266},{"_id":"public/img/qweather-color-icon/507.png","hash":"426d5a73a482ac5721e7da2141e4fe704f50b608","modified":1697768866266},{"_id":"public/img/qweather-color-icon/510.png","hash":"524131e401d0b150dab2733af336f4649b8ade74","modified":1697768866266},{"_id":"public/img/qweather-color-icon/512.png","hash":"64e11f225c35caa6ef2612d613026c52cfd3557e","modified":1697768866266},{"_id":"public/img/qweather-color-icon/511.png","hash":"e2efe07a29446ebecd313ccd8a2c7d57a670f203","modified":1697768866266},{"_id":"public/img/qweather-color-icon/509.png","hash":"3bc779bfbcab94a79c91b26288e2e7b67412d15e","modified":1697768866266},{"_id":"public/img/qweather-color-icon/515.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697768866266},{"_id":"public/img/qweather-color-icon/513.png","hash":"ceff3dfd109a990c9595276ad6b56061bb662e5e","modified":1697768866266},{"_id":"public/img/qweather-color-icon/514.png","hash":"fdf992021ff20e1ffe1b19f0b918aa35204f22e7","modified":1697768866266},{"_id":"public/img/qweather-color-icon/900.png","hash":"6eacf8df641c6096feb746c7544a825d3c65bf47","modified":1697768866266},{"_id":"public/img/qweather-color-icon/999.png","hash":"74e4fa5bdd815d988b55525d4e7f6d40bf1080d4","modified":1697768866266},{"_id":"public/img/qweather-color-icon/901.png","hash":"f6b3f1cd64e9c325e9dc3ab42469baa5c5119c2d","modified":1697768866266},{"_id":"public/css/0c63d269.css","hash":"6b9b9796cf8ff9349b724f4b789f1347eaa0d476","modified":1697768866266},{"_id":"public/css/21.88950121.css","hash":"44c9b83ffe9151e2e233c2f55b6e89b30ea7c7bb","modified":1697768866266},{"_id":"public/css/206.a3a4e130.css","hash":"f8c04ec30e94eb972ff315b8c1eef655b9e8a03e","modified":1697768866266},{"_id":"public/css/291.a8323266.css","hash":"e18068692b42ef4b76adc55d5ddc9f2bb10203f4","modified":1697768866266},{"_id":"public/css/271.54fa1675.css","hash":"845cb754fd4ea780279a16e01a345d55889866e2","modified":1697768866266},{"_id":"public/css/2cd7dba2.css","hash":"dbc4f3071866019f0faae76620928ddf2f6700e6","modified":1697768866266},{"_id":"public/css/429.fb1dabcb.css","hash":"1f2b77bab319123d193042b9990056abe9f2fd73","modified":1697768866266},{"_id":"public/css/3efc6cb5.css","hash":"1f1958bfd921ac3eea83a1e14ed97e8e83b31fb6","modified":1697768866266},{"_id":"public/css/4c3d0e88.css","hash":"c4a5bf3a1f7adf21c04d9950b02a67f516bbac9f","modified":1697768866266},{"_id":"public/css/3a4a90d1.css","hash":"4ffc2c5e9f1afd4fa74d7d9b785e0697cd7fb770","modified":1697768866266},{"_id":"public/css/2f1ea598.css","hash":"ac520cdae0399c2b818dcac34c5ff58fd204d10f","modified":1697768866266},{"_id":"public/css/618.6513d67e.css","hash":"660188677fab2c0946ac4b8ed81611ad5472feb8","modified":1697768866266},{"_id":"public/css/766.64ad3c35.css","hash":"8434994030b9b9d0fa3a82df079c860f49543b82","modified":1697768866266},{"_id":"public/css/7c527814.css","hash":"7061b6b9c6fe1da1956a664b3ee7862ef257c716","modified":1697768866266},{"_id":"public/css/aeb44e7a.css","hash":"95b181f50e6adb98be13bb60983edb155a83f6d7","modified":1697768866266},{"_id":"public/css/945.fdf98cb0.css","hash":"f227a8697bf14eb75ba63d14a0608db53c9a50a1","modified":1697768866266},{"_id":"public/css/de5de8fb.css","hash":"a05682caa4e0b8a106578468f795dad472ee75da","modified":1697768866266},{"_id":"public/css/ccbcde32.css","hash":"3475deea0241c67fadc3de5149886e90af24f2e6","modified":1697768866266},{"_id":"public/css/e01add4b.css","hash":"5fc672a8fb8b65d60c087cc908d5170eaac56e0c","modified":1697768866266},{"_id":"public/css/f3729dde.css","hash":"2a7faa0c3816e3b653fb4540fa63504a26b2051f","modified":1697768866266},{"_id":"public/css/efca006a.css","hash":"97972d1b7ca177983b39a67e772736f661637468","modified":1697768866266},{"_id":"public/css/922.9efa0b6b.css","hash":"721bc1b89ae059267d9b4aa3cc37f5c1ff8f32c3","modified":1697768866266},{"_id":"public/js/1247bc3e.js","hash":"1d0335fdedecd72daa5eb2288a8891ab2e83e55d","modified":1697768866266},{"_id":"public/js/206.759361ed.js","hash":"129b5fd004afbbe4ab06cf6e944097b42c98655b","modified":1697768866266},{"_id":"public/js/21.282c05e7.js","hash":"78359415e9f39c9c2119551ac2a97ba9f15af294","modified":1697768866266},{"_id":"public/js/291.4ac6984b.js","hash":"b5bb3c24cbcb7d09604c8c66c9d4470e6a2fd449","modified":1697768866266},{"_id":"public/js/271.ee88a6de.js","hash":"2d93e1c6f51c16e6cc0c41740dc1de5a0c362926","modified":1697768866266},{"_id":"public/js/429.bc4769cb.js","hash":"926f0c003b8cfc0f4eb78ab6367aab9228d31abf","modified":1697768866266},{"_id":"public/js/31d6cfe0.js","hash":"da39a3ee5e6b4b0d3255bfef95601890afd80709","modified":1697768866266},{"_id":"public/js/430dbbd6.js","hash":"ff77ecc0d3b8bee105dabbaccefdb83b07a09e47","modified":1697768866266},{"_id":"public/js/3cf4fd98.js","hash":"0d51155f6dc08d1d8c693d210c1407b2e26b5685","modified":1697768866266},{"_id":"public/js/766.9503a62c.js","hash":"9f2114b6ac69ab0a67b1c88c5f6c48ff244185f7","modified":1697768866266},{"_id":"public/js/618.1a58fba9.js","hash":"afbe73ca7b78196e48dd9147a12db960d17589ff","modified":1697768866266},{"_id":"public/js/85d1c72e.js","hash":"8ec5c0c8f9dff40d1fc2d16de3baa51442e12be2","modified":1697768866266},{"_id":"public/js/945.0313a94c.js","hash":"ccc3bda115641d497837d4cf8e93f776f0e64c6d","modified":1697768866266},{"_id":"public/js/ca6b30b5.js","hash":"481a8f20c3d4e565c1ea5dafe4218597d051a9fc","modified":1697768866266},{"_id":"public/js/f8b20eb9.js","hash":"86cff2cb169c614dedd464b373d94322328cb185","modified":1697768866266},{"_id":"public/js/922.689e0633.js","hash":"1757f732da655e7dc36fe4a23d29b72a549e9423","modified":1697768866266},{"_id":"public/js/96ea39da.js","hash":"a6c6a3f3afb38e8326846eb8eac1bbadd48ac6d3","modified":1697768866266},{"_id":"public/js/07f44e09.js","hash":"e8a21a4252ad34adc1a54066eab32a26a7313940","modified":1697768866266},{"_id":"public/img/logo.png","hash":"05730ab0dadd5036509f942834278eef683994dd","modified":1697768866266}],"Category":[{"name":"Hexo","_id":"clnxzqxcz0002icz38evkcka4"},{"name":"Front-End","_id":"clnxzqxd20005icz3byqj3j9e"}],"Data":[],"Page":[],"Post":[{"title":"Linear 入门","top":0,"status":"doing","_content":"\n# 配置项\n\n","source":"_posts/Linear 入门.md","raw":"---\ntitle: Linear 入门\ntop: 0\ncategories:\n - Hexo\nstatus: doing\n---\n\n# 配置项\n\n","slug":"Linear 入门","published":1,"date":"2023-10-20T01:08:12.352Z","updated":"2023-10-20T01:25:29.685Z","comments":1,"layout":"post","photos":[],"link":"","_id":"clnxzqxcw0000icz36pi62i4o","content":"

配置项

","site":{"data":{}},"excerpt":"","more":"

配置项

"},{"title":"Linear-Starter-Guide","top":0,"status":"doing","_content":"\n[中文文档](/Linear主题文档)\n\n# Configuration\n\ncontinued...😁\n","source":"_posts/Linear-Starter-Guide.md","raw":"---\ntitle: Linear-Starter-Guide\ntop: 0\ncategories:\n - Hexo\nstatus: doing\n---\n\n[中文文档](/Linear主题文档)\n\n# Configuration\n\ncontinued...😁\n","slug":"Linear-Starter-Guide","published":1,"date":"2023-10-20T01:05:56.355Z","updated":"2023-10-20T01:26:53.835Z","comments":1,"layout":"post","photos":[],"link":"","_id":"clnxzqxcy0001icz3a7cadi3r","content":"

中文文档

\n

Configuration

continued…😁

\n","site":{"data":{}},"excerpt":"","more":"

中文文档

\n

Configuration

continued…😁

\n"},{"title":"verdaccio 搭建 npm私库","status":"done","_content":"\n# 使用 docker 搭建 verdaccio\n\n创建 & 配置`config.yaml`文件\n\n```yaml\n# Read about the best practices\n# https://verdaccio.org/docs/best\n\n# path to a directory with all packages\nstorage: /verdaccio/storage/data\n# path to a directory with plugins to include\nplugins: /verdaccio/plugins\n\n# 包体积上限,默认10mb\nmax_body_size: 1024mb\n\n\nweb:\n enable: true\n title: Mozzie-NPM\n # gravatar: false\n # login: true\n pkgManagers:\n - npm\n - yarn\n - pnpm\n html_cache: true\n showFooter: false\n\nauth:\n htpasswd:\n file: /verdaccio/storage/htpasswd\n # 关闭注册,手动添加用户,默认Bcrypt算法,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如 test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W\n max_users: -1\n\n\ni18n:\n web: zh-CN\n\n# notify: # 配置 Webhook 推送到钉钉,记得修改 access_token 和 atMobiles\n# method: POST\n# headers: [{ \"Content-Type\": \"application/json\" }]\n# endpoint: https://oapi.dingtalk.com/robot/send?access_token=xxxx\n# content: '{\"msgtype\":\"text\", \"at\": {\"atMobiles\": [\"13000000000\"] }, \"text\":{\"content\":\"NPM 发布新包:\\n > 包名称:{{name}} \\n > 版本号:{{#each versions}}{{version}}{{/each}} \\n > 发布者:{{publisher.name}} \"}}'\n\nuplinks:\n npmjs:\n url: https://registry.npmjs.org/\n yarn:\n url: https://registry.yarnpkg.com/\n timeout: 10s\n taobao:\n url: https://registry.npmmirror.com/\n timeout: 10s\n\npackages:\n \"@*/*\":\n # 可访问权限,web界面看不见,不登陆,也无法 install 包\n access: $authenticated # $all\n # 发布权限, $authenticated 表示只有通过验证的人\n publish: $authenticated\n # 可取消发布权限\n unpublish: $authenticated\n # 包不存在时的代理\n proxy: npmjs yarn taobao\n \"**\":\n access: $authenticated # $all\n publish: $authenticated\n unpublish: $authenticated\n proxy: npmjs yarn taobao\n\nmiddlewares:\n audit:\n enabled: true\nlisten: 0.0.0.0:4873\nlog: { type: stdout, format: pretty, level: http }\n```\n\n创建容器,环境变量,`VERDACCIO_PUBLIC_URL`是静态资源的前缀地址,由于nginx挂了`ssl`,如果使用`http`可以不添加\n\n```bash\ndocker run \\\n-p 4873:4873 \\\n--restart=always \\\n--network mozzie.cn-net \\\n--network-alias verdaccio \\\n--env VERDACCIO_PORT=4873 \\\n--env VERDACCIO_PUBLIC_URL=https://npm.mozzie.cn \\\n--ip 172.21.0.196 \\\n--name verdaccio \\\n-v /www/wwwroot/nginx/html/verdaccio/storage:/verdaccio/storage \\\n-v /www/wwwroot/nginx/html/verdaccio/config:/verdaccio/conf \\\n-v /www/wwwroot/nginx/html/verdaccio/plugins:/verdaccio/plugins \\\n-d verdaccio/verdaccio\n```\n\n\n\n配置nginx的反向代理conf,注意所在的docker网络,使用`container_name`\n\n\n\n```conf\nserver {\n # listen 80;\n listen 443 ssl;\n server_name npm.mozzie.cn;\n ssl_certificate /etc/nginx/ssl/npm.mozzie.cn_bundle.pem;\n ssl_certificate_key /etc/nginx/ssl/npm.mozzie.cn.key;\n gzip on;\n\n location / {\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header Host $host;\n proxy_set_header X-NginX-Proxy true;\n proxy_pass http://verdaccio:4873/;\n proxy_redirect off;\n }\n}\n```\n\n运行添加用户,报错,因为 `htpasswd`默认创建在宿主机,也就是上面挂载的`/www/wwwroot/nginx/html/verdaccio/storage`目录中\n\n```bash\nnpm adduser --registry https://npm.mozzie.cn/\n```\n\n配置`htpasswd`、`storage` 文件夹权限\n\n```bash\n# 宿主机中执行\ncd /www/wwwroot/nginx/html/verdaccio/storage\ntouch htpasswd\nsudo chown 10001:65533 htpasswd\nsudo chown -R 10001:65533 /www/wwwroot/nginx/html/verdaccio/storage\n```\n\n# verdaccio 用户管理\n\n由于在 `config.yml` 中关闭了可访问权限\n\n```yaml\nauth:\n htpasswd:\n file: /verdaccio/storage/htpasswd\n # 关闭注册,手动添加用户,默认Bcrypt算法,\n max_users: -1\n\npackages:\n \"@*/*\":\n # 可访问权限,web界面看不见,不登陆,也无法 install 包\n access: $authenticated # $all\n # 发布权限, $authenticated 表示只有通过验证的人\n publish: $authenticated\n # 可取消发布权限\n unpublish: $authenticated\n \"**\":\n access: $authenticated\n publish: $authenticated\n unpublish: $authenticated\n```\n\n默认的 `addUser` 策略是 `Bcrypt` 生成密码,随便找个网页生成个密码,使用`账号:密码`添加到 `htpasswd` 文件中,例如 \n\n```bash\ntest:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W\n```\n\n因此在实际开发中,管理员手动给用户创建好账号,然后根据用户的包管理工具,进行登录,例如以 `npm` 为例\n\n```bash\nnpm adduser --registry https://npm.mozzie.cn/\n# 输入 Username: mozzie | Password: xxx | Email: (this IS public) himozzie@foxmail.com\n# 提示登陆成功 Logged in as mozzie on https://npm.mozzie.cn/.\n```\n\n在系统的 `cat ~/.npmrc` 中会增加一行,就可以正常的进行以来的安装了\n\n```bash\n//npm.mozzie.cn/:_authToken=\"Do/wrh5QzsnYaNU4x3ZlVA==\"\n```\n\n# 项目 .npmrc Scope区分\n\n需要指定 `.npmrc` 来区别 `Scope` 的安装地址,例如一个包名为 `@mozzie/hook`,对应的私库为 `https://npm.mozzie.cn/`\n\n```bash\nregistry=http://registry.npm.taobao.org/\n@mozzie:registry=https://npm.mozzie.cn\n# npm拉包的校验\n//https://npm.mozzie.cn/:_authToken=xxxxxxxxxxxxx\n```","source":"_posts/front-end/verdaccio.md","raw":"---\ntitle: verdaccio 搭建 npm私库\ncategories:\n - Front-End\nstatus: done\n---\n\n# 使用 docker 搭建 verdaccio\n\n创建 & 配置`config.yaml`文件\n\n```yaml\n# Read about the best practices\n# https://verdaccio.org/docs/best\n\n# path to a directory with all packages\nstorage: /verdaccio/storage/data\n# path to a directory with plugins to include\nplugins: /verdaccio/plugins\n\n# 包体积上限,默认10mb\nmax_body_size: 1024mb\n\n\nweb:\n enable: true\n title: Mozzie-NPM\n # gravatar: false\n # login: true\n pkgManagers:\n - npm\n - yarn\n - pnpm\n html_cache: true\n showFooter: false\n\nauth:\n htpasswd:\n file: /verdaccio/storage/htpasswd\n # 关闭注册,手动添加用户,默认Bcrypt算法,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如 test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W\n max_users: -1\n\n\ni18n:\n web: zh-CN\n\n# notify: # 配置 Webhook 推送到钉钉,记得修改 access_token 和 atMobiles\n# method: POST\n# headers: [{ \"Content-Type\": \"application/json\" }]\n# endpoint: https://oapi.dingtalk.com/robot/send?access_token=xxxx\n# content: '{\"msgtype\":\"text\", \"at\": {\"atMobiles\": [\"13000000000\"] }, \"text\":{\"content\":\"NPM 发布新包:\\n > 包名称:{{name}} \\n > 版本号:{{#each versions}}{{version}}{{/each}} \\n > 发布者:{{publisher.name}} \"}}'\n\nuplinks:\n npmjs:\n url: https://registry.npmjs.org/\n yarn:\n url: https://registry.yarnpkg.com/\n timeout: 10s\n taobao:\n url: https://registry.npmmirror.com/\n timeout: 10s\n\npackages:\n \"@*/*\":\n # 可访问权限,web界面看不见,不登陆,也无法 install 包\n access: $authenticated # $all\n # 发布权限, $authenticated 表示只有通过验证的人\n publish: $authenticated\n # 可取消发布权限\n unpublish: $authenticated\n # 包不存在时的代理\n proxy: npmjs yarn taobao\n \"**\":\n access: $authenticated # $all\n publish: $authenticated\n unpublish: $authenticated\n proxy: npmjs yarn taobao\n\nmiddlewares:\n audit:\n enabled: true\nlisten: 0.0.0.0:4873\nlog: { type: stdout, format: pretty, level: http }\n```\n\n创建容器,环境变量,`VERDACCIO_PUBLIC_URL`是静态资源的前缀地址,由于nginx挂了`ssl`,如果使用`http`可以不添加\n\n```bash\ndocker run \\\n-p 4873:4873 \\\n--restart=always \\\n--network mozzie.cn-net \\\n--network-alias verdaccio \\\n--env VERDACCIO_PORT=4873 \\\n--env VERDACCIO_PUBLIC_URL=https://npm.mozzie.cn \\\n--ip 172.21.0.196 \\\n--name verdaccio \\\n-v /www/wwwroot/nginx/html/verdaccio/storage:/verdaccio/storage \\\n-v /www/wwwroot/nginx/html/verdaccio/config:/verdaccio/conf \\\n-v /www/wwwroot/nginx/html/verdaccio/plugins:/verdaccio/plugins \\\n-d verdaccio/verdaccio\n```\n\n\n\n配置nginx的反向代理conf,注意所在的docker网络,使用`container_name`\n\n\n\n```conf\nserver {\n # listen 80;\n listen 443 ssl;\n server_name npm.mozzie.cn;\n ssl_certificate /etc/nginx/ssl/npm.mozzie.cn_bundle.pem;\n ssl_certificate_key /etc/nginx/ssl/npm.mozzie.cn.key;\n gzip on;\n\n location / {\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_set_header Host $host;\n proxy_set_header X-NginX-Proxy true;\n proxy_pass http://verdaccio:4873/;\n proxy_redirect off;\n }\n}\n```\n\n运行添加用户,报错,因为 `htpasswd`默认创建在宿主机,也就是上面挂载的`/www/wwwroot/nginx/html/verdaccio/storage`目录中\n\n```bash\nnpm adduser --registry https://npm.mozzie.cn/\n```\n\n配置`htpasswd`、`storage` 文件夹权限\n\n```bash\n# 宿主机中执行\ncd /www/wwwroot/nginx/html/verdaccio/storage\ntouch htpasswd\nsudo chown 10001:65533 htpasswd\nsudo chown -R 10001:65533 /www/wwwroot/nginx/html/verdaccio/storage\n```\n\n# verdaccio 用户管理\n\n由于在 `config.yml` 中关闭了可访问权限\n\n```yaml\nauth:\n htpasswd:\n file: /verdaccio/storage/htpasswd\n # 关闭注册,手动添加用户,默认Bcrypt算法,\n max_users: -1\n\npackages:\n \"@*/*\":\n # 可访问权限,web界面看不见,不登陆,也无法 install 包\n access: $authenticated # $all\n # 发布权限, $authenticated 表示只有通过验证的人\n publish: $authenticated\n # 可取消发布权限\n unpublish: $authenticated\n \"**\":\n access: $authenticated\n publish: $authenticated\n unpublish: $authenticated\n```\n\n默认的 `addUser` 策略是 `Bcrypt` 生成密码,随便找个网页生成个密码,使用`账号:密码`添加到 `htpasswd` 文件中,例如 \n\n```bash\ntest:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W\n```\n\n因此在实际开发中,管理员手动给用户创建好账号,然后根据用户的包管理工具,进行登录,例如以 `npm` 为例\n\n```bash\nnpm adduser --registry https://npm.mozzie.cn/\n# 输入 Username: mozzie | Password: xxx | Email: (this IS public) himozzie@foxmail.com\n# 提示登陆成功 Logged in as mozzie on https://npm.mozzie.cn/.\n```\n\n在系统的 `cat ~/.npmrc` 中会增加一行,就可以正常的进行以来的安装了\n\n```bash\n//npm.mozzie.cn/:_authToken=\"Do/wrh5QzsnYaNU4x3ZlVA==\"\n```\n\n# 项目 .npmrc Scope区分\n\n需要指定 `.npmrc` 来区别 `Scope` 的安装地址,例如一个包名为 `@mozzie/hook`,对应的私库为 `https://npm.mozzie.cn/`\n\n```bash\nregistry=http://registry.npm.taobao.org/\n@mozzie:registry=https://npm.mozzie.cn\n# npm拉包的校验\n//https://npm.mozzie.cn/:_authToken=xxxxxxxxxxxxx\n```","slug":"front-end/verdaccio","published":1,"date":"2023-10-20T02:25:55.131Z","updated":"2023-10-20T02:27:35.158Z","comments":1,"layout":"post","photos":[],"link":"","_id":"clnxzqxd00003icz3dv7zf2xa","content":"

使用 docker 搭建 verdaccio

创建 & 配置config.yaml文件

\n
# Read about the best practices\n# https://verdaccio.org/docs/best\n\n# path to a directory with all packages\nstorage: /verdaccio/storage/data\n# path to a directory with plugins to include\nplugins: /verdaccio/plugins\n\n# 包体积上限,默认10mb\nmax_body_size: 1024mb\n\n\nweb:\n  enable: true\n  title: Mozzie-NPM\n  # gravatar: false\n  # login: true\n  pkgManagers:\n    - npm\n    - yarn\n    - pnpm\n  html_cache: true\n  showFooter: false\n\nauth:\n  htpasswd:\n    file: /verdaccio/storage/htpasswd\n    # 关闭注册,手动添加用户,默认Bcrypt算法,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如 test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W\n    max_users: -1\n\n\ni18n:\n  web: zh-CN\n\n# notify: # 配置 Webhook 推送到钉钉,记得修改 access_token 和 atMobiles\n#  method: POST\n#  headers: [{ \"Content-Type\": \"application/json\" }]\n#  endpoint: https://oapi.dingtalk.com/robot/send?access_token=xxxx\n#  content: '{\"msgtype\":\"text\", \"at\": {\"atMobiles\": [\"13000000000\"] }, \"text\":{\"content\":\"NPM 发布新包:\\n > 包名称:{{name}} \\n > 版本号:{{#each versions}}{{version}}{{/each}} \\n > 发布者:{{publisher.name}} \"}}'\n\nuplinks:\n  npmjs:\n    url: https://registry.npmjs.org/\n  yarn:\n    url: https://registry.yarnpkg.com/\n    timeout: 10s\n  taobao:\n    url: https://registry.npmmirror.com/\n    timeout: 10s\n\npackages:\n  \"@*/*\":\n    # 可访问权限,web界面看不见,不登陆,也无法 install 包\n    access: $authenticated # $all\n    # 发布权限, $authenticated 表示只有通过验证的人\n    publish: $authenticated\n    # 可取消发布权限\n    unpublish: $authenticated\n    # 包不存在时的代理\n    proxy: npmjs yarn taobao\n  \"**\":\n    access: $authenticated # $all\n    publish: $authenticated\n    unpublish: $authenticated\n    proxy: npmjs yarn taobao\n\nmiddlewares:\n  audit:\n    enabled: true\nlisten: 0.0.0.0:4873\nlog: { type: stdout, format: pretty, level: http }
\n\n

创建容器,环境变量,VERDACCIO_PUBLIC_URL是静态资源的前缀地址,由于nginx挂了ssl,如果使用http可以不添加

\n
docker run \\\n-p 4873:4873 \\\n--restart=always \\\n--network mozzie.cn-net \\\n--network-alias verdaccio \\\n--env VERDACCIO_PORT=4873 \\\n--env VERDACCIO_PUBLIC_URL=https://npm.mozzie.cn \\\n--ip 172.21.0.196 \\\n--name verdaccio \\\n-v /www/wwwroot/nginx/html/verdaccio/storage:/verdaccio/storage \\\n-v /www/wwwroot/nginx/html/verdaccio/config:/verdaccio/conf \\\n-v /www/wwwroot/nginx/html/verdaccio/plugins:/verdaccio/plugins \\\n-d verdaccio/verdaccio
\n\n\n\n

配置nginx的反向代理conf,注意所在的docker网络,使用container_name

\n
server {\n    # listen 80;\n    listen 443 ssl;\n    server_name npm.mozzie.cn;\n    ssl_certificate  /etc/nginx/ssl/npm.mozzie.cn_bundle.pem;\n    ssl_certificate_key  /etc/nginx/ssl/npm.mozzie.cn.key;\n    gzip on;\n\n    location / {\n      proxy_set_header X-Real-IP $remote_addr;\n      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n      proxy_set_header Host $host;\n      proxy_set_header X-NginX-Proxy true;\n      proxy_pass http://verdaccio:4873/;\n      proxy_redirect off;\n    }\n}
\n\n

运行添加用户,报错,因为 htpasswd默认创建在宿主机,也就是上面挂载的/www/wwwroot/nginx/html/verdaccio/storage目录中

\n
npm adduser --registry https://npm.mozzie.cn/
\n\n

配置htpasswdstorage 文件夹权限

\n
# 宿主机中执行\ncd /www/wwwroot/nginx/html/verdaccio/storage\ntouch htpasswd\nsudo chown 10001:65533 htpasswd\nsudo chown -R 10001:65533 /www/wwwroot/nginx/html/verdaccio/storage
\n\n

verdaccio 用户管理

由于在 config.yml 中关闭了可访问权限

\n
auth:\n  htpasswd:\n    file: /verdaccio/storage/htpasswd\n    # 关闭注册,手动添加用户,默认Bcrypt算法,\n    max_users: -1\n\npackages:\n  \"@*/*\":\n    # 可访问权限,web界面看不见,不登陆,也无法 install 包\n    access: $authenticated # $all\n    # 发布权限, $authenticated 表示只有通过验证的人\n    publish: $authenticated\n    # 可取消发布权限\n    unpublish: $authenticated\n  \"**\":\n    access: $authenticated\n    publish: $authenticated\n    unpublish: $authenticated
\n\n

默认的 addUser 策略是 Bcrypt 生成密码,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如

\n
test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W
\n\n

因此在实际开发中,管理员手动给用户创建好账号,然后根据用户的包管理工具,进行登录,例如以 npm 为例

\n
npm adduser --registry https://npm.mozzie.cn/\n# 输入 Username: mozzie | Password: xxx | Email: (this IS public) himozzie@foxmail.com\n# 提示登陆成功 Logged in as mozzie on https://npm.mozzie.cn/.
\n\n

在系统的 cat ~/.npmrc 中会增加一行,就可以正常的进行以来的安装了

\n
//npm.mozzie.cn/:_authToken=\"Do/wrh5QzsnYaNU4x3ZlVA==\"
\n\n

项目 .npmrc Scope区分

需要指定 .npmrc 来区别 Scope 的安装地址,例如一个包名为 @mozzie/hook,对应的私库为 https://npm.mozzie.cn/

\n
registry=http://registry.npm.taobao.org/\n@mozzie:registry=https://npm.mozzie.cn\n# npm拉包的校验\n//https://npm.mozzie.cn/:_authToken=xxxxxxxxxxxxx
","site":{"data":{}},"excerpt":"","more":"

使用 docker 搭建 verdaccio

创建 & 配置config.yaml文件

\n
# Read about the best practices\n# https://verdaccio.org/docs/best\n\n# path to a directory with all packages\nstorage: /verdaccio/storage/data\n# path to a directory with plugins to include\nplugins: /verdaccio/plugins\n\n# 包体积上限,默认10mb\nmax_body_size: 1024mb\n\n\nweb:\n  enable: true\n  title: Mozzie-NPM\n  # gravatar: false\n  # login: true\n  pkgManagers:\n    - npm\n    - yarn\n    - pnpm\n  html_cache: true\n  showFooter: false\n\nauth:\n  htpasswd:\n    file: /verdaccio/storage/htpasswd\n    # 关闭注册,手动添加用户,默认Bcrypt算法,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如 test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W\n    max_users: -1\n\n\ni18n:\n  web: zh-CN\n\n# notify: # 配置 Webhook 推送到钉钉,记得修改 access_token 和 atMobiles\n#  method: POST\n#  headers: [{ \"Content-Type\": \"application/json\" }]\n#  endpoint: https://oapi.dingtalk.com/robot/send?access_token=xxxx\n#  content: '{\"msgtype\":\"text\", \"at\": {\"atMobiles\": [\"13000000000\"] }, \"text\":{\"content\":\"NPM 发布新包:\\n > 包名称:{{name}} \\n > 版本号:{{#each versions}}{{version}}{{/each}} \\n > 发布者:{{publisher.name}} \"}}'\n\nuplinks:\n  npmjs:\n    url: https://registry.npmjs.org/\n  yarn:\n    url: https://registry.yarnpkg.com/\n    timeout: 10s\n  taobao:\n    url: https://registry.npmmirror.com/\n    timeout: 10s\n\npackages:\n  \"@*/*\":\n    # 可访问权限,web界面看不见,不登陆,也无法 install 包\n    access: $authenticated # $all\n    # 发布权限, $authenticated 表示只有通过验证的人\n    publish: $authenticated\n    # 可取消发布权限\n    unpublish: $authenticated\n    # 包不存在时的代理\n    proxy: npmjs yarn taobao\n  \"**\":\n    access: $authenticated # $all\n    publish: $authenticated\n    unpublish: $authenticated\n    proxy: npmjs yarn taobao\n\nmiddlewares:\n  audit:\n    enabled: true\nlisten: 0.0.0.0:4873\nlog: { type: stdout, format: pretty, level: http }
\n\n

创建容器,环境变量,VERDACCIO_PUBLIC_URL是静态资源的前缀地址,由于nginx挂了ssl,如果使用http可以不添加

\n
docker run \\\n-p 4873:4873 \\\n--restart=always \\\n--network mozzie.cn-net \\\n--network-alias verdaccio \\\n--env VERDACCIO_PORT=4873 \\\n--env VERDACCIO_PUBLIC_URL=https://npm.mozzie.cn \\\n--ip 172.21.0.196 \\\n--name verdaccio \\\n-v /www/wwwroot/nginx/html/verdaccio/storage:/verdaccio/storage \\\n-v /www/wwwroot/nginx/html/verdaccio/config:/verdaccio/conf \\\n-v /www/wwwroot/nginx/html/verdaccio/plugins:/verdaccio/plugins \\\n-d verdaccio/verdaccio
\n\n\n\n

配置nginx的反向代理conf,注意所在的docker网络,使用container_name

\n
server {\n    # listen 80;\n    listen 443 ssl;\n    server_name npm.mozzie.cn;\n    ssl_certificate  /etc/nginx/ssl/npm.mozzie.cn_bundle.pem;\n    ssl_certificate_key  /etc/nginx/ssl/npm.mozzie.cn.key;\n    gzip on;\n\n    location / {\n      proxy_set_header X-Real-IP $remote_addr;\n      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n      proxy_set_header Host $host;\n      proxy_set_header X-NginX-Proxy true;\n      proxy_pass http://verdaccio:4873/;\n      proxy_redirect off;\n    }\n}
\n\n

运行添加用户,报错,因为 htpasswd默认创建在宿主机,也就是上面挂载的/www/wwwroot/nginx/html/verdaccio/storage目录中

\n
npm adduser --registry https://npm.mozzie.cn/
\n\n

配置htpasswdstorage 文件夹权限

\n
# 宿主机中执行\ncd /www/wwwroot/nginx/html/verdaccio/storage\ntouch htpasswd\nsudo chown 10001:65533 htpasswd\nsudo chown -R 10001:65533 /www/wwwroot/nginx/html/verdaccio/storage
\n\n

verdaccio 用户管理

由于在 config.yml 中关闭了可访问权限

\n
auth:\n  htpasswd:\n    file: /verdaccio/storage/htpasswd\n    # 关闭注册,手动添加用户,默认Bcrypt算法,\n    max_users: -1\n\npackages:\n  \"@*/*\":\n    # 可访问权限,web界面看不见,不登陆,也无法 install 包\n    access: $authenticated # $all\n    # 发布权限, $authenticated 表示只有通过验证的人\n    publish: $authenticated\n    # 可取消发布权限\n    unpublish: $authenticated\n  \"**\":\n    access: $authenticated\n    publish: $authenticated\n    unpublish: $authenticated
\n\n

默认的 addUser 策略是 Bcrypt 生成密码,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如

\n
test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W
\n\n

因此在实际开发中,管理员手动给用户创建好账号,然后根据用户的包管理工具,进行登录,例如以 npm 为例

\n
npm adduser --registry https://npm.mozzie.cn/\n# 输入 Username: mozzie | Password: xxx | Email: (this IS public) himozzie@foxmail.com\n# 提示登陆成功 Logged in as mozzie on https://npm.mozzie.cn/.
\n\n

在系统的 cat ~/.npmrc 中会增加一行,就可以正常的进行以来的安装了

\n
//npm.mozzie.cn/:_authToken=\"Do/wrh5QzsnYaNU4x3ZlVA==\"
\n\n

项目 .npmrc Scope区分

需要指定 .npmrc 来区别 Scope 的安装地址,例如一个包名为 @mozzie/hook,对应的私库为 https://npm.mozzie.cn/

\n
registry=http://registry.npm.taobao.org/\n@mozzie:registry=https://npm.mozzie.cn\n# npm拉包的校验\n//https://npm.mozzie.cn/:_authToken=xxxxxxxxxxxxx
"}],"PostAsset":[],"PostCategory":[{"post_id":"clnxzqxcw0000icz36pi62i4o","category_id":"clnxzqxcz0002icz38evkcka4","_id":"clnxzqxd30006icz30v0fgb8p"},{"post_id":"clnxzqxcy0001icz3a7cadi3r","category_id":"clnxzqxcz0002icz38evkcka4","_id":"clnxzqxd30007icz38a3k9tor"},{"post_id":"clnxzqxd00003icz3dv7zf2xa","category_id":"clnxzqxd20005icz3byqj3j9e","_id":"clnxzqxd30008icz311vg8ons"}],"PostTag":[],"Tag":[]}} \ No newline at end of file diff --git a/public/2023/10/20/Linear 入门/index.html b/public/2023/10/20/Linear 入门/index.html index d7c9fda6..d0d59001 100644 --- a/public/2023/10/20/Linear 入门/index.html +++ b/public/2023/10/20/Linear 入门/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + diff --git a/public/2023/10/20/Linear-Starter-Guide/index.html b/public/2023/10/20/Linear-Starter-Guide/index.html index bf68d95f..c8bf0ccc 100644 --- a/public/2023/10/20/Linear-Starter-Guide/index.html +++ b/public/2023/10/20/Linear-Starter-Guide/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + diff --git a/public/2023/10/20/front-end/verdaccio/index.html b/public/2023/10/20/front-end/verdaccio/index.html new file mode 100644 index 00000000..00b33330 --- /dev/null +++ b/public/2023/10/20/front-end/verdaccio/index.html @@ -0,0 +1,475 @@ + + + + + + + + verdaccio 搭建 npm私库 + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +

    使用 docker 搭建 verdaccio

    创建 & 配置config.yaml文件

    +
    # Read about the best practices
    +# https://verdaccio.org/docs/best
    +
    +# path to a directory with all packages
    +storage: /verdaccio/storage/data
    +# path to a directory with plugins to include
    +plugins: /verdaccio/plugins
    +
    +# 包体积上限,默认10mb
    +max_body_size: 1024mb
    +
    +
    +web:
    +  enable: true
    +  title: Mozzie-NPM
    +  # gravatar: false
    +  # login: true
    +  pkgManagers:
    +    - npm
    +    - yarn
    +    - pnpm
    +  html_cache: true
    +  showFooter: false
    +
    +auth:
    +  htpasswd:
    +    file: /verdaccio/storage/htpasswd
    +    # 关闭注册,手动添加用户,默认Bcrypt算法,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如 test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W
    +    max_users: -1
    +
    +
    +i18n:
    +  web: zh-CN
    +
    +# notify: # 配置 Webhook 推送到钉钉,记得修改 access_token 和 atMobiles
    +#  method: POST
    +#  headers: [{ "Content-Type": "application/json" }]
    +#  endpoint: https://oapi.dingtalk.com/robot/send?access_token=xxxx
    +#  content: '{"msgtype":"text", "at": {"atMobiles": ["13000000000"] }, "text":{"content":"NPM 发布新包:\n > 包名称:{{name}} \n > 版本号:{{#each versions}}{{version}}{{/each}} \n > 发布者:{{publisher.name}} "}}'
    +
    +uplinks:
    +  npmjs:
    +    url: https://registry.npmjs.org/
    +  yarn:
    +    url: https://registry.yarnpkg.com/
    +    timeout: 10s
    +  taobao:
    +    url: https://registry.npmmirror.com/
    +    timeout: 10s
    +
    +packages:
    +  "@*/*":
    +    # 可访问权限,web界面看不见,不登陆,也无法 install 包
    +    access: $authenticated # $all
    +    # 发布权限, $authenticated 表示只有通过验证的人
    +    publish: $authenticated
    +    # 可取消发布权限
    +    unpublish: $authenticated
    +    # 包不存在时的代理
    +    proxy: npmjs yarn taobao
    +  "**":
    +    access: $authenticated # $all
    +    publish: $authenticated
    +    unpublish: $authenticated
    +    proxy: npmjs yarn taobao
    +
    +middlewares:
    +  audit:
    +    enabled: true
    +listen: 0.0.0.0:4873
    +log: { type: stdout, format: pretty, level: http }
    + +

    创建容器,环境变量,VERDACCIO_PUBLIC_URL是静态资源的前缀地址,由于nginx挂了ssl,如果使用http可以不添加

    +
    docker run \
    +-p 4873:4873 \
    +--restart=always \
    +--network mozzie.cn-net \
    +--network-alias verdaccio \
    +--env VERDACCIO_PORT=4873 \
    +--env VERDACCIO_PUBLIC_URL=https://npm.mozzie.cn \
    +--ip 172.21.0.196 \
    +--name verdaccio \
    +-v /www/wwwroot/nginx/html/verdaccio/storage:/verdaccio/storage \
    +-v /www/wwwroot/nginx/html/verdaccio/config:/verdaccio/conf \
    +-v /www/wwwroot/nginx/html/verdaccio/plugins:/verdaccio/plugins \
    +-d verdaccio/verdaccio
    + + + +

    配置nginx的反向代理conf,注意所在的docker网络,使用container_name

    +
    server {
    +    # listen 80;
    +    listen 443 ssl;
    +    server_name npm.mozzie.cn;
    +    ssl_certificate  /etc/nginx/ssl/npm.mozzie.cn_bundle.pem;
    +    ssl_certificate_key  /etc/nginx/ssl/npm.mozzie.cn.key;
    +    gzip on;
    +
    +    location / {
    +      proxy_set_header X-Real-IP $remote_addr;
    +      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    +      proxy_set_header Host $host;
    +      proxy_set_header X-NginX-Proxy true;
    +      proxy_pass http://verdaccio:4873/;
    +      proxy_redirect off;
    +    }
    +}
    + +

    运行添加用户,报错,因为 htpasswd默认创建在宿主机,也就是上面挂载的/www/wwwroot/nginx/html/verdaccio/storage目录中

    +
    npm adduser --registry https://npm.mozzie.cn/
    + +

    配置htpasswdstorage 文件夹权限

    +
    # 宿主机中执行
    +cd /www/wwwroot/nginx/html/verdaccio/storage
    +touch htpasswd
    +sudo chown 10001:65533 htpasswd
    +sudo chown -R 10001:65533 /www/wwwroot/nginx/html/verdaccio/storage
    + +

    verdaccio 用户管理

    由于在 config.yml 中关闭了可访问权限

    +
    auth:
    +  htpasswd:
    +    file: /verdaccio/storage/htpasswd
    +    # 关闭注册,手动添加用户,默认Bcrypt算法,
    +    max_users: -1
    +
    +packages:
    +  "@*/*":
    +    # 可访问权限,web界面看不见,不登陆,也无法 install 包
    +    access: $authenticated # $all
    +    # 发布权限, $authenticated 表示只有通过验证的人
    +    publish: $authenticated
    +    # 可取消发布权限
    +    unpublish: $authenticated
    +  "**":
    +    access: $authenticated
    +    publish: $authenticated
    +    unpublish: $authenticated
    + +

    默认的 addUser 策略是 Bcrypt 生成密码,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如

    +
    test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W
    + +

    因此在实际开发中,管理员手动给用户创建好账号,然后根据用户的包管理工具,进行登录,例如以 npm 为例

    +
    npm adduser --registry https://npm.mozzie.cn/
    +# 输入 Username: mozzie | Password: xxx | Email: (this IS public) himozzie@foxmail.com
    +# 提示登陆成功 Logged in as mozzie on https://npm.mozzie.cn/.
    + +

    在系统的 cat ~/.npmrc 中会增加一行,就可以正常的进行以来的安装了

    +
    //npm.mozzie.cn/:_authToken="Do/wrh5QzsnYaNU4x3ZlVA=="
    + +

    项目 .npmrc Scope区分

    需要指定 .npmrc 来区别 Scope 的安装地址,例如一个包名为 @mozzie/hook,对应的私库为 https://npm.mozzie.cn/

    +
    registry=http://registry.npm.taobao.org/
    +@mozzie:registry=https://npm.mozzie.cn
    +# npm拉包的校验
    +//https://npm.mozzie.cn/:_authToken=xxxxxxxxxxxxx
    + + + + + + + + + + + + +
    +
    +
    +
    + +
    + + + + + + +
    + + + + + + + \ No newline at end of file diff --git a/public/archives/2023/10/index.html b/public/archives/2023/10/index.html index 65c2d991..06759133 100644 --- a/public/archives/2023/10/index.html +++ b/public/archives/2023/10/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + @@ -230,17 +241,21 @@ Configurationcontinued…😁
  • - +
    - 10-20 09:05:10 + 10-20 10:25:55
    - Hello World + + + verdaccio 搭建 npm私库
    -

    Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any pro...

    +

    使用 docker 搭建 verdaccio创建 & 配置config.yaml文件 +# Read about the best practices +# https://verdaccio.o...

  • diff --git a/public/archives/2023/index.html b/public/archives/2023/index.html index 65c2d991..06759133 100644 --- a/public/archives/2023/index.html +++ b/public/archives/2023/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + @@ -230,17 +241,21 @@ Configurationcontinued…😁
  • - +
    - 10-20 09:05:10 + 10-20 10:25:55
    - Hello World + + + verdaccio 搭建 npm私库
    -

    Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any pro...

    +

    使用 docker 搭建 verdaccio创建 & 配置config.yaml文件 +# Read about the best practices +# https://verdaccio.o...

  • diff --git a/public/archives/index.html b/public/archives/index.html index 65c2d991..06759133 100644 --- a/public/archives/index.html +++ b/public/archives/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + @@ -230,17 +241,21 @@ Configurationcontinued…😁
  • - +
    - 10-20 09:05:10 + 10-20 10:25:55
    - Hello World + + + verdaccio 搭建 npm私库
    -

    Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any pro...

    +

    使用 docker 搭建 verdaccio创建 & 配置config.yaml文件 +# Read about the best practices +# https://verdaccio.o...

  • diff --git a/public/2023/10/20/hello-world/index.html b/public/categories/Front-End/index.html similarity index 58% rename from public/2023/10/20/hello-world/index.html rename to public/categories/Front-End/index.html index d1d28a1c..160ae06d 100644 --- a/public/2023/10/20/hello-world/index.html +++ b/public/categories/Front-End/index.html @@ -5,12 +5,12 @@ - Hello World + 17px blog - + @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + @@ -157,12 +168,14 @@
    - + -
    -
    -
    + + +
    +
    +
    @@ -173,7 +186,6 @@ - @@ -182,109 +194,63 @@ - Hello World + Front-End + -
    -
    -
    - - - -

    Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

    -

    Quick Start

    Create a new post

    $ hexo new "My New Post"
    - -

    More info: Writing

    -

    Run server

    $ hexo server
    - -

    More info: Server

    -

    Generate static files

    $ hexo generate
    - -

    More info: Generating

    -

    Deploy to remote sites

    $ hexo deploy
    - -

    More info: Deployment

    -
    - - - - - - - - - - - - -
    -
    -
    -
    -
    + + +
    + + + + + + + + Total of 1 Posts + +
    + +
    +
    + + + +
    - - - +
    diff --git a/public/categories/Hexo/index.html b/public/categories/Hexo/index.html index ac10d40b..68ea01ba 100644 --- a/public/categories/Hexo/index.html +++ b/public/categories/Hexo/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + diff --git a/public/index.html b/public/index.html index f6a78570..d57691e8 100644 --- a/public/index.html +++ b/public/index.html @@ -132,7 +132,7 @@
  • - +
    Hexo @@ -141,6 +141,17 @@
  • +
  • + + +
    + + Front-End + +
    +
    +
  • + diff --git a/source/_posts/front-end/verdaccio.md b/source/_posts/front-end/verdaccio.md new file mode 100644 index 00000000..944197bd --- /dev/null +++ b/source/_posts/front-end/verdaccio.md @@ -0,0 +1,200 @@ +--- +title: verdaccio 搭建 npm私库 +categories: + - Front-End +status: done +--- + +# 使用 docker 搭建 verdaccio + +创建 & 配置`config.yaml`文件 + +```yaml +# Read about the best practices +# https://verdaccio.org/docs/best + +# path to a directory with all packages +storage: /verdaccio/storage/data +# path to a directory with plugins to include +plugins: /verdaccio/plugins + +# 包体积上限,默认10mb +max_body_size: 1024mb + + +web: + enable: true + title: Mozzie-NPM + # gravatar: false + # login: true + pkgManagers: + - npm + - yarn + - pnpm + html_cache: true + showFooter: false + +auth: + htpasswd: + file: /verdaccio/storage/htpasswd + # 关闭注册,手动添加用户,默认Bcrypt算法,随便找个网页生成个密码,使用账号:密码添加到 htpasswd 文件中,例如 test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W + max_users: -1 + + +i18n: + web: zh-CN + +# notify: # 配置 Webhook 推送到钉钉,记得修改 access_token 和 atMobiles +# method: POST +# headers: [{ "Content-Type": "application/json" }] +# endpoint: https://oapi.dingtalk.com/robot/send?access_token=xxxx +# content: '{"msgtype":"text", "at": {"atMobiles": ["13000000000"] }, "text":{"content":"NPM 发布新包:\n > 包名称:{{name}} \n > 版本号:{{#each versions}}{{version}}{{/each}} \n > 发布者:{{publisher.name}} "}}' + +uplinks: + npmjs: + url: https://registry.npmjs.org/ + yarn: + url: https://registry.yarnpkg.com/ + timeout: 10s + taobao: + url: https://registry.npmmirror.com/ + timeout: 10s + +packages: + "@*/*": + # 可访问权限,web界面看不见,不登陆,也无法 install 包 + access: $authenticated # $all + # 发布权限, $authenticated 表示只有通过验证的人 + publish: $authenticated + # 可取消发布权限 + unpublish: $authenticated + # 包不存在时的代理 + proxy: npmjs yarn taobao + "**": + access: $authenticated # $all + publish: $authenticated + unpublish: $authenticated + proxy: npmjs yarn taobao + +middlewares: + audit: + enabled: true +listen: 0.0.0.0:4873 +log: { type: stdout, format: pretty, level: http } +``` + +创建容器,环境变量,`VERDACCIO_PUBLIC_URL`是静态资源的前缀地址,由于nginx挂了`ssl`,如果使用`http`可以不添加 + +```bash +docker run \ +-p 4873:4873 \ +--restart=always \ +--network mozzie.cn-net \ +--network-alias verdaccio \ +--env VERDACCIO_PORT=4873 \ +--env VERDACCIO_PUBLIC_URL=https://npm.mozzie.cn \ +--ip 172.21.0.196 \ +--name verdaccio \ +-v /www/wwwroot/nginx/html/verdaccio/storage:/verdaccio/storage \ +-v /www/wwwroot/nginx/html/verdaccio/config:/verdaccio/conf \ +-v /www/wwwroot/nginx/html/verdaccio/plugins:/verdaccio/plugins \ +-d verdaccio/verdaccio +``` + + + +配置nginx的反向代理conf,注意所在的docker网络,使用`container_name` + + + +```conf +server { + # listen 80; + listen 443 ssl; + server_name npm.mozzie.cn; + ssl_certificate /etc/nginx/ssl/npm.mozzie.cn_bundle.pem; + ssl_certificate_key /etc/nginx/ssl/npm.mozzie.cn.key; + gzip on; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio:4873/; + proxy_redirect off; + } +} +``` + +运行添加用户,报错,因为 `htpasswd`默认创建在宿主机,也就是上面挂载的`/www/wwwroot/nginx/html/verdaccio/storage`目录中 + +```bash +npm adduser --registry https://npm.mozzie.cn/ +``` + +配置`htpasswd`、`storage` 文件夹权限 + +```bash +# 宿主机中执行 +cd /www/wwwroot/nginx/html/verdaccio/storage +touch htpasswd +sudo chown 10001:65533 htpasswd +sudo chown -R 10001:65533 /www/wwwroot/nginx/html/verdaccio/storage +``` + +# verdaccio 用户管理 + +由于在 `config.yml` 中关闭了可访问权限 + +```yaml +auth: + htpasswd: + file: /verdaccio/storage/htpasswd + # 关闭注册,手动添加用户,默认Bcrypt算法, + max_users: -1 + +packages: + "@*/*": + # 可访问权限,web界面看不见,不登陆,也无法 install 包 + access: $authenticated # $all + # 发布权限, $authenticated 表示只有通过验证的人 + publish: $authenticated + # 可取消发布权限 + unpublish: $authenticated + "**": + access: $authenticated + publish: $authenticated + unpublish: $authenticated +``` + +默认的 `addUser` 策略是 `Bcrypt` 生成密码,随便找个网页生成个密码,使用`账号:密码`添加到 `htpasswd` 文件中,例如 + +```bash +test:$2a$10$0xPGVnpcdxcfmFxtWyWDx./TRtm/W/gSzib/jck3w.sF9x.Ur8t8W +``` + +因此在实际开发中,管理员手动给用户创建好账号,然后根据用户的包管理工具,进行登录,例如以 `npm` 为例 + +```bash +npm adduser --registry https://npm.mozzie.cn/ +# 输入 Username: mozzie | Password: xxx | Email: (this IS public) himozzie@foxmail.com +# 提示登陆成功 Logged in as mozzie on https://npm.mozzie.cn/. +``` + +在系统的 `cat ~/.npmrc` 中会增加一行,就可以正常的进行以来的安装了 + +```bash +//npm.mozzie.cn/:_authToken="Do/wrh5QzsnYaNU4x3ZlVA==" +``` + +# 项目 .npmrc Scope区分 + +需要指定 `.npmrc` 来区别 `Scope` 的安装地址,例如一个包名为 `@mozzie/hook`,对应的私库为 `https://npm.mozzie.cn/` + +```bash +registry=http://registry.npm.taobao.org/ +@mozzie:registry=https://npm.mozzie.cn +# npm拉包的校验 +//https://npm.mozzie.cn/:_authToken=xxxxxxxxxxxxx +``` \ 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 821780cb..00000000 --- a/source/_posts/hello-world.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Hello World ---- -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/themes/hexo-theme-linear/_config.yml b/themes/hexo-theme-linear/_config.yml index 5e71efa4..424c41bc 100644 --- a/themes/hexo-theme-linear/_config.yml +++ b/themes/hexo-theme-linear/_config.yml @@ -14,10 +14,11 @@ postCopyright: # post classification icon mapping postCategoryIcons: - - - - - - - + - + - + - + - + # katex katex: enable: true