From 5efd5b9c403e1986e8471b23719f2970ce8cb8ea Mon Sep 17 00:00:00 2001 From: dengtongyu Date: Mon, 23 Nov 2020 18:59:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 + _config.yml | 106 + package-lock.json | 2811 ++++++++++ package.json | 27 + scaffolds/draft.md | 4 + scaffolds/page.md | 4 + scaffolds/post.md | 5 + source/_posts/angular-cli-之初体验.md | 155 + .../browser-sync代理接口在ie8下返回406问题.md | 58 + source/_posts/egret-练手-《围住神经猫》.md | 252 + ...gret-获取设备陀螺仪信息以及运动状态信息.md | 84 + .../_posts/egret3d-用视频video做纹理贴图.md | 60 + source/_posts/egret天空盒子浅尝.md | 93 + .../egret引用animate-cc发布的html5-canvas.md | 181 + .../_posts/egret粒子系统官方文档的那些坑.md | 74 + source/_posts/es6-下定义变量,let大法好!.md | 41 + ...践,lets-encrypt-免费通配符-ssl-证书申请.md | 246 + ...mediadevices-getusermedia调用本地摄像头.md | 53 + .../react-native-for-ios-下的一个小坑.md | 24 + .../vue-cli-代理设置以及打包引入配置.md | 54 + ...esource-http请求在ios浏览器下的一个小坑.md | 42 + source/_posts/一个星期一早晨感慨.md | 10 + source/_posts/人应该要学会生活.md | 10 + .../你也可以成为鉴黄师,nsfwjs鉴黄库初探.md | 100 + ...”¨acme-sh-申请-lets-encrypt-泛域名ssl证书.md | 102 + source/_posts/吾日三省吾身.md | 10 + source/_posts/咸鱼需要冷藏.md | 10 + source/_posts/奇妙能力歌.md | 10 + source/_posts/如果有来生.md | 10 + source/_posts/字符html创建dom节点.md | 24 + source/_posts/小悟.md | 10 + source/_posts/忙碌的工作日,潮流的朋友圈.md | 10 + source/_posts/我脑中的橡皮擦.md | 10 + source/_posts/条件注释判断浏览器.md | 69 + source/_posts/浅尝-html-5-input-新属性.md | 242 + source/_posts/演唱会随机选座解题思路.md | 122 + .../_posts/用nodeexpress搭建本地https服务.md | 69 + source/_posts/第一条写些什么呢?.md | 10 + source/_posts/首页.md | 9 + ...1497fa6a5de2596909dc2af7a6233e37_1440w.jpg | Bin 0 -> 143823 bytes ...498e45cff82e401ae43378031b8fc740_1440w.jpg | Bin 0 -> 116891 bytes themes/butterfly | 1 + themes/landscape/.gitignore | 3 + themes/landscape/Gruntfile.js | 46 + themes/landscape/LICENSE | 7 + themes/landscape/README.md | 112 + themes/landscape/_config.yml | 37 + themes/landscape/languages/de.yml | 19 + themes/landscape/languages/default.yml | 19 + themes/landscape/languages/es.yml | 19 + themes/landscape/languages/fr.yml | 19 + themes/landscape/languages/ja.yml | 19 + themes/landscape/languages/ko.yml | 19 + themes/landscape/languages/nl.yml | 20 + themes/landscape/languages/no.yml | 19 + themes/landscape/languages/pt.yml | 19 + themes/landscape/languages/ru.yml | 19 + themes/landscape/languages/zh-CN.yml | 19 + themes/landscape/languages/zh-TW.yml | 19 + .../layout/_partial/after-footer.ejs | 25 + .../layout/_partial/archive-post.ejs | 8 + themes/landscape/layout/_partial/archive.ejs | 34 + themes/landscape/layout/_partial/article.ejs | 44 + themes/landscape/layout/_partial/footer.ejs | 11 + .../layout/_partial/gauges-analytics.ejs | 18 + .../layout/_partial/google-analytics.ejs | 14 + themes/landscape/layout/_partial/head.ejs | 36 + themes/landscape/layout/_partial/header.ejs | 32 + .../landscape/layout/_partial/mobile-nav.ejs | 5 + .../layout/_partial/post/category.ejs | 10 + .../landscape/layout/_partial/post/date.ejs | 3 + .../layout/_partial/post/gallery.ejs | 11 + themes/landscape/layout/_partial/post/nav.ejs | 22 + themes/landscape/layout/_partial/post/tag.ejs | 6 + .../landscape/layout/_partial/post/title.ejs | 15 + themes/landscape/layout/_partial/sidebar.ejs | 5 + themes/landscape/layout/_widget/archive.ejs | 8 + themes/landscape/layout/_widget/category.ejs | 8 + .../landscape/layout/_widget/recent_posts.ejs | 14 + themes/landscape/layout/_widget/tag.ejs | 8 + themes/landscape/layout/_widget/tagcloud.ejs | 8 + themes/landscape/layout/archive.ejs | 1 + themes/landscape/layout/category.ejs | 1 + themes/landscape/layout/index.ejs | 1 + themes/landscape/layout/layout.ejs | 18 + themes/landscape/layout/page.ejs | 1 + themes/landscape/layout/post.ejs | 1 + themes/landscape/layout/tag.ejs | 1 + themes/landscape/package.json | 12 + themes/landscape/scripts/fancybox.js | 24 + themes/landscape/source/css/_extend.styl | 63 + .../source/css/_partial/archive.styl | 80 + .../source/css/_partial/article.styl | 357 ++ .../source/css/_partial/comment.styl | 9 + .../landscape/source/css/_partial/footer.styl | 14 + .../landscape/source/css/_partial/header.styl | 165 + .../source/css/_partial/highlight.styl | 158 + .../landscape/source/css/_partial/mobile.styl | 19 + .../source/css/_partial/sidebar-aside.styl | 27 + .../source/css/_partial/sidebar-bottom.styl | 27 + .../source/css/_partial/sidebar.styl | 35 + themes/landscape/source/css/_util/grid.styl | 38 + themes/landscape/source/css/_util/mixin.styl | 31 + themes/landscape/source/css/_variables.styl | 63 + .../source/css/fonts/FontAwesome.otf | Bin 0 -> 62856 bytes .../source/css/fonts/fontawesome-webfont.eot | Bin 0 -> 38205 bytes .../source/css/fonts/fontawesome-webfont.svg | 414 ++ .../source/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 80652 bytes .../source/css/fonts/fontawesome-webfont.woff | Bin 0 -> 44432 bytes themes/landscape/source/css/images/banner.jpg | Bin 0 -> 224710 bytes themes/landscape/source/css/style.styl | 89 + themes/landscape/source/fancybox/blank.gif | Bin 0 -> 43 bytes .../source/fancybox/fancybox_loading.gif | Bin 0 -> 6567 bytes .../source/fancybox/fancybox_loading@2x.gif | Bin 0 -> 13984 bytes .../source/fancybox/fancybox_overlay.png | Bin 0 -> 1003 bytes .../source/fancybox/fancybox_sprite.png | Bin 0 -> 1362 bytes .../source/fancybox/fancybox_sprite@2x.png | Bin 0 -> 6553 bytes .../fancybox/helpers/fancybox_buttons.png | Bin 0 -> 1080 bytes .../helpers/jquery.fancybox-buttons.css | 97 + .../helpers/jquery.fancybox-buttons.js | 122 + .../fancybox/helpers/jquery.fancybox-media.js | 199 + .../helpers/jquery.fancybox-thumbs.css | 55 + .../helpers/jquery.fancybox-thumbs.js | 165 + .../source/fancybox/jquery.fancybox.css | 273 + .../source/fancybox/jquery.fancybox.js | 2017 +++++++ .../source/fancybox/jquery.fancybox.pack.js | 46 + themes/landscape/source/js/script.js | 137 + wordpress.2020-11-13.xml | 4734 +++++++++++++++++ yarn.lock | 1247 +++++ 129 files changed, 16739 insertions(+) create mode 100644 .gitignore create mode 100644 _config.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 scaffolds/draft.md create mode 100644 scaffolds/page.md create mode 100644 scaffolds/post.md create mode 100644 source/_posts/angular-cli-之初体验.md create mode 100644 source/_posts/browser-sync代理接口在ie8下返回406问题.md create mode 100644 source/_posts/egret-练手-《围住神经猫》.md create mode 100644 source/_posts/egret-获取设备陀螺仪信息以及运动状态信息.md create mode 100644 source/_posts/egret3d-用视频video做纹理贴图.md create mode 100644 source/_posts/egret天空盒子浅尝.md create mode 100644 source/_posts/egret引用animate-cc发布的html5-canvas.md create mode 100644 source/_posts/egret粒子系统官方文档的那些坑.md create mode 100644 source/_posts/es6-下定义变量,let大法好!.md create mode 100644 source/_posts/https实践,lets-encrypt-免费通配符-ssl-证书申请.md create mode 100644 source/_posts/navigator-mediadevices-getusermedia调用本地摄像头.md create mode 100644 source/_posts/react-native-for-ios-下的一个小坑.md create mode 100644 source/_posts/vue-cli-代理设置以及打包引入配置.md create mode 100644 source/_posts/vue-resource-http请求在ios浏览器下的一个小坑.md create mode 100644 source/_posts/一个星期一早晨感慨.md create mode 100644 source/_posts/人应该要学会生活.md create mode 100644 source/_posts/你也可以成为鉴黄师,nsfwjs鉴黄库初探.md create mode 100644 source/_posts/使用acme-sh-申请-lets-encrypt-泛域名ssl证书.md create mode 100644 source/_posts/吾日三省吾身.md create mode 100644 source/_posts/咸鱼需要冷藏.md create mode 100644 source/_posts/奇妙能力歌.md create mode 100644 source/_posts/如果有来生.md create mode 100644 source/_posts/字符html创建dom节点.md create mode 100644 source/_posts/小悟.md create mode 100644 source/_posts/忙碌的工作日,潮流的朋友圈.md create mode 100644 source/_posts/我脑中的橡皮擦.md create mode 100644 source/_posts/条件注释判断浏览器.md create mode 100644 source/_posts/浅尝-html-5-input-新属性.md create mode 100644 source/_posts/演唱会随机选座解题思路.md create mode 100644 source/_posts/用nodeexpress搭建本地https服务.md create mode 100644 source/_posts/第一条写些什么呢?.md create mode 100644 source/_posts/首页.md create mode 100644 source/images/v2-1497fa6a5de2596909dc2af7a6233e37_1440w.jpg create mode 100644 source/images/v2-498e45cff82e401ae43378031b8fc740_1440w.jpg create mode 160000 themes/butterfly create mode 100644 themes/landscape/.gitignore create mode 100644 themes/landscape/Gruntfile.js create mode 100644 themes/landscape/LICENSE create mode 100644 themes/landscape/README.md create mode 100644 themes/landscape/_config.yml create mode 100644 themes/landscape/languages/de.yml create mode 100644 themes/landscape/languages/default.yml create mode 100644 themes/landscape/languages/es.yml create mode 100644 themes/landscape/languages/fr.yml create mode 100644 themes/landscape/languages/ja.yml create mode 100644 themes/landscape/languages/ko.yml create mode 100644 themes/landscape/languages/nl.yml create mode 100644 themes/landscape/languages/no.yml create mode 100644 themes/landscape/languages/pt.yml create mode 100644 themes/landscape/languages/ru.yml create mode 100644 themes/landscape/languages/zh-CN.yml create mode 100644 themes/landscape/languages/zh-TW.yml create mode 100644 themes/landscape/layout/_partial/after-footer.ejs create mode 100644 themes/landscape/layout/_partial/archive-post.ejs create mode 100644 themes/landscape/layout/_partial/archive.ejs create mode 100644 themes/landscape/layout/_partial/article.ejs create mode 100644 themes/landscape/layout/_partial/footer.ejs create mode 100644 themes/landscape/layout/_partial/gauges-analytics.ejs create mode 100644 themes/landscape/layout/_partial/google-analytics.ejs create mode 100644 themes/landscape/layout/_partial/head.ejs create mode 100644 themes/landscape/layout/_partial/header.ejs create mode 100644 themes/landscape/layout/_partial/mobile-nav.ejs create mode 100644 themes/landscape/layout/_partial/post/category.ejs create mode 100644 themes/landscape/layout/_partial/post/date.ejs create mode 100644 themes/landscape/layout/_partial/post/gallery.ejs create mode 100644 themes/landscape/layout/_partial/post/nav.ejs create mode 100644 themes/landscape/layout/_partial/post/tag.ejs create mode 100644 themes/landscape/layout/_partial/post/title.ejs create mode 100644 themes/landscape/layout/_partial/sidebar.ejs create mode 100644 themes/landscape/layout/_widget/archive.ejs create mode 100644 themes/landscape/layout/_widget/category.ejs create mode 100644 themes/landscape/layout/_widget/recent_posts.ejs create mode 100644 themes/landscape/layout/_widget/tag.ejs create mode 100644 themes/landscape/layout/_widget/tagcloud.ejs create mode 100644 themes/landscape/layout/archive.ejs create mode 100644 themes/landscape/layout/category.ejs create mode 100644 themes/landscape/layout/index.ejs create mode 100644 themes/landscape/layout/layout.ejs create mode 100644 themes/landscape/layout/page.ejs create mode 100644 themes/landscape/layout/post.ejs create mode 100644 themes/landscape/layout/tag.ejs create mode 100644 themes/landscape/package.json create mode 100644 themes/landscape/scripts/fancybox.js create mode 100644 themes/landscape/source/css/_extend.styl create mode 100644 themes/landscape/source/css/_partial/archive.styl create mode 100644 themes/landscape/source/css/_partial/article.styl create mode 100644 themes/landscape/source/css/_partial/comment.styl create mode 100644 themes/landscape/source/css/_partial/footer.styl create mode 100644 themes/landscape/source/css/_partial/header.styl create mode 100644 themes/landscape/source/css/_partial/highlight.styl create mode 100644 themes/landscape/source/css/_partial/mobile.styl create mode 100644 themes/landscape/source/css/_partial/sidebar-aside.styl create mode 100644 themes/landscape/source/css/_partial/sidebar-bottom.styl create mode 100644 themes/landscape/source/css/_partial/sidebar.styl create mode 100644 themes/landscape/source/css/_util/grid.styl create mode 100644 themes/landscape/source/css/_util/mixin.styl create mode 100644 themes/landscape/source/css/_variables.styl create mode 100644 themes/landscape/source/css/fonts/FontAwesome.otf create mode 100644 themes/landscape/source/css/fonts/fontawesome-webfont.eot create mode 100644 themes/landscape/source/css/fonts/fontawesome-webfont.svg create mode 100644 themes/landscape/source/css/fonts/fontawesome-webfont.ttf create mode 100644 themes/landscape/source/css/fonts/fontawesome-webfont.woff create mode 100644 themes/landscape/source/css/images/banner.jpg create mode 100644 themes/landscape/source/css/style.styl create mode 100644 themes/landscape/source/fancybox/blank.gif create mode 100644 themes/landscape/source/fancybox/fancybox_loading.gif create mode 100644 themes/landscape/source/fancybox/fancybox_loading@2x.gif create mode 100644 themes/landscape/source/fancybox/fancybox_overlay.png create mode 100644 themes/landscape/source/fancybox/fancybox_sprite.png create mode 100644 themes/landscape/source/fancybox/fancybox_sprite@2x.png create mode 100644 themes/landscape/source/fancybox/helpers/fancybox_buttons.png create mode 100644 themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.css create mode 100644 themes/landscape/source/fancybox/helpers/jquery.fancybox-buttons.js create mode 100644 themes/landscape/source/fancybox/helpers/jquery.fancybox-media.js create mode 100644 themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.css create mode 100644 themes/landscape/source/fancybox/helpers/jquery.fancybox-thumbs.js create mode 100644 themes/landscape/source/fancybox/jquery.fancybox.css create mode 100644 themes/landscape/source/fancybox/jquery.fancybox.js create mode 100644 themes/landscape/source/fancybox/jquery.fancybox.pack.js create mode 100644 themes/landscape/source/js/script.js create mode 100644 wordpress.2020-11-13.xml create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..063b0e4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.DS_Store +Thumbs.db +db.json +*.log +node_modules/ +public/ +.deploy*/ \ No newline at end of file diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..7687964 --- /dev/null +++ b/_config.yml @@ -0,0 +1,106 @@ +# Hexo Configuration +## Docs: https://hexo.io/docs/configuration.html +## Source: https://github.com/hexojs/hexo/ + +# Site +title: 程序猿的世界 +subtitle: '' +description: '' +keywords: +author: 卑鄙的好人 +language: zh-CN +timezone: '' + +# URL +## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/' +url: http://example.com +root: / +permalink: :year/:month/:day/:title/ +permalink_defaults: +pretty_urls: + trailing_index: true # Set to false to remove trailing 'index.html' from permalinks + trailing_html: true # Set to false to remove trailing '.html' from permalinks + +# Directory +source_dir: source +public_dir: public +tag_dir: tags +archive_dir: archives +category_dir: categories +code_dir: downloads/code +i18n_dir: :lang +skip_render: + +# Writing +new_post_name: :title.md # File name of new posts +default_layout: post +titlecase: false # Transform title into titlecase +external_link: + enable: true # Open external links in new tab + field: site # Apply to the whole site + exclude: '' +filename_case: 0 +render_drafts: false +post_asset_folder: false +relative_link: false +future: true +highlight: + enable: true + line_number: true + auto_detect: false + tab_replace: '' + wrap: true + hljs: false +prismjs: + enable: false + preprocess: true + line_number: true + tab_replace: '' + +# Home page setting +# path: Root path for your blogs index page. (default = '') +# per_page: Posts displayed per page. (0 = disable pagination) +# order_by: Posts order. (Order by date descending by default) +index_generator: + path: '' + per_page: 10 + order_by: -date + +# Category & Tag +default_category: uncategorized +category_map: +tag_map: + +# Metadata elements +## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta +meta_generator: true + +# Date / Time format +## Hexo uses Moment.js to parse and display date +## You can customize the date format as defined in +## http://momentjs.com/docs/#/displaying/format/ +date_format: YYYY-MM-DD +time_format: HH:mm:ss +## updated_option supports 'mtime', 'date', 'empty' +updated_option: 'mtime' + +# Pagination +## Set per_page to 0 to disable pagination +per_page: 10 +pagination_dir: page + +# Include / Exclude file(s) +## include:/exclude: options only apply to the 'source/' folder +include: +exclude: +ignore: + +# Extensions +## Plugins: https://hexo.io/plugins/ +## Themes: https://hexo.io/themes/ +theme: butterfly + +# Deployment +## Docs: https://hexo.io/docs/one-command-deployment +deploy: + type: '' diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ebcb754 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2811 @@ +{ + "name": "hexo-site", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@sindresorhus/is": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.0.tgz", + "integrity": "sha512-FyD2meJpDPjyNQejSjvnhpgI/azsQkA4lGbuu5BQZfjvJ9cbRZXzeWL2HceCekW4lixO9JPesIIQkSoLjeJHNQ==" + }, + "@szmarczak/http-timer": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.5.tgz", + "integrity": "sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ==", + "requires": { + "defer-to-connect": "^2.0.0" + } + }, + "@types/babel-types": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.9.tgz", + "integrity": "sha512-qZLoYeXSTgQuK1h7QQS16hqLGdmqtRmN8w/rl3Au/l5x/zkHx+a4VHrHyBsi1I1vtK2oBHxSzKIu0R5p6spdOA==" + }, + "@types/babylon": { + "version": "6.16.5", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.5.tgz", + "integrity": "sha512-xH2e58elpj1X4ynnKp9qSnWlsRTIs6n3tgLGNfwAGHwePw0mulHQllV34n0T25uYSu1k0hRKkWXF890B1yS47w==", + "requires": { + "@types/babel-types": "*" + } + }, + "@types/cacheable-request": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz", + "integrity": "sha512-ykFq2zmBGOCbpIXtoVbz4SKY5QriWPh3AjyU4G74RYbtt5yOc5OfaY75ftjg7mikMOla1CTGpX3lLbuJh8DTrQ==", + "requires": { + "@types/http-cache-semantics": "*", + "@types/keyv": "*", + "@types/node": "*", + "@types/responselike": "*" + } + }, + "@types/http-cache-semantics": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.0.tgz", + "integrity": "sha512-c3Xy026kOF7QOTn00hbIllV1dLR9hG9NkSrLQgCVs8NF6sBU+VGWjD3wLPhmh1TYAc7ugCFsvHYMN4VcBN1U1A==" + }, + "@types/keyv": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.1.tgz", + "integrity": "sha512-MPtoySlAZQ37VoLaPcTHCu1RWJ4llDkULYZIzOYxlhxBqYPB0RsRlmMU0R6tahtFe27mIdkHV+551ZWV4PLmVw==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "14.14.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz", + "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==" + }, + "@types/responselike": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz", + "integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==", + "requires": { + "@types/node": "*" + } + }, + "JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, + "abab": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" + }, + "acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacheable-lookup": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.3.tgz", + "integrity": "sha512-W+JBqF9SWe18A72XFzN/V/CULFzPm7sBXzzR6ekkE+3tLG72wFZrBiBZhrZuDoYexop4PHJVdFAKb/Nj9+tm9w==" + }, + "cacheable-request": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.1.tgz", + "integrity": "sha512-lt0mJ6YAnsrBErpTMWeu5kl/tg9xMAWjavYTN6VQXM1A/teBITuNcccXsCxF0tDQQJf9DfAaX5O4e0zp0KlfZw==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^2.0.0" + } + }, + "camaro": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/camaro/-/camaro-6.0.4.tgz", + "integrity": "sha512-A8kkwqbg5nw0KErrr3yDuLD2+C7WIP7a1TfklRdYbmb6ss5rxlvzyLXKbBNtC3EJaOXYPEFr4SXYp74jcfULIw==", + "requires": { + "piscina": "^1.6.3" + } + }, + "camel-case": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.1.tgz", + "integrity": "sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q==", + "requires": { + "pascal-case": "^3.1.1", + "tslib": "^1.10.0" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "requires": { + "is-regex": "^1.0.3" + } + }, + "chokidar": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", + "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "requires": { + "source-map": "~0.6.0" + } + }, + "clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", + "optional": true, + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "command-exists": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "requires": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-parse": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=" + }, + "cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "requires": { + "cssom": "~0.3.6" + }, + "dependencies": { + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + } + } + }, + "cuid": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-2.1.8.tgz", + "integrity": "sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "requires": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decimal.js": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + }, + "dependencies": { + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + } + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "defer-to-connect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz", + "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg==" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", + "optional": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=" + }, + "dom-serializer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.1.0.tgz", + "integrity": "sha512-ox7bvGXt2n+uLWtCRLybYx60IrOlWL/aCebWJk1T0d4m3y2tzf4U3ij9wBMUb6YJZpz06HCCYuyCDveE2xXmzQ==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", + "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" + }, + "domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "requires": { + "webidl-conversions": "^5.0.0" + }, + "dependencies": { + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + } + } + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.2.tgz", + "integrity": "sha512-NKbgaM8ZJOecTZsIzW5gSuplsX2IWW2mIK7xVr8hTQF2v1CJWTmLZ1HOCh5sH+IzVPAGE5IucooOkvwBRAdowA==", + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.0.1", + "domhandler": "^3.3.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "requires": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==" + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "requires": { + "pump": "^3.0.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "requires": { + "delegate": "^3.1.2" + } + }, + "got": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/got/-/got-11.8.0.tgz", + "integrity": "sha512-k9noyoIIY9EejuhaBNLyZ31D5328LeqnyPNXJQb2XlJZcKakLqN5m6O/ikhq/0lw56kUYS54fVm+D1x57YC9oQ==", + "requires": { + "@sindresorhus/is": "^4.0.0", + "@szmarczak/http-timer": "^4.0.5", + "@types/cacheable-request": "^6.0.1", + "@types/responselike": "^1.0.0", + "cacheable-lookup": "^5.0.3", + "cacheable-request": "^7.0.1", + "decompress-response": "^6.0.0", + "http2-wrapper": "^1.0.0-beta.5.2", + "lowercase-keys": "^2.0.0", + "p-cancelable": "^2.0.0", + "responselike": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "hdr-histogram-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-1.2.0.tgz", + "integrity": "sha512-h0YToJ3ewqsaZ3nFTTa6dLOD7sqx+EgdC4+OcJ9Ou7zZDlT0sXSPHHr3cyenQsPqqbVHGn/oFY6zjfEKXGvzmQ==", + "requires": { + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "hdr-histogram-percentiles-obj": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-2.0.1.tgz", + "integrity": "sha512-QBvbTxPlGwHj36IRF16XLoYEbUv5YEyO385kiS0IS3831fcSTNXTR785VtFFZ2ahY733z0ky8Jv4d6In+Ss+wQ==", + "requires": { + "hdr-histogram-js": "^1.0.0" + } + }, + "hexo": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/hexo/-/hexo-5.2.0.tgz", + "integrity": "sha512-lX4OqpZv+AGANHHyxmlXdlU5hDiJyPDqEBdRwtIo5BLp86RsCi/xlTtkdVV0fRi1uRjtLc9vwXf7LVjAd/l45g==", + "requires": { + "abbrev": "^1.1.1", + "archy": "^1.0.0", + "bluebird": "^3.5.2", + "chalk": "^4.0.0", + "hexo-cli": "^4.0.0", + "hexo-front-matter": "^2.0.0", + "hexo-fs": "^3.1.0", + "hexo-i18n": "^1.0.0", + "hexo-log": "^2.0.0", + "hexo-util": "^2.4.0", + "js-yaml": "^3.12.0", + "micromatch": "^4.0.2", + "moment": "^2.22.2", + "moment-timezone": "^0.5.21", + "nunjucks": "^3.2.1", + "pretty-hrtime": "^1.0.3", + "resolve": "^1.8.1", + "strip-ansi": "^6.0.0", + "text-table": "^0.2.0", + "tildify": "^2.0.0", + "titlecase": "^1.1.2", + "warehouse": "^4.0.0" + }, + "dependencies": { + "hexo-cli": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hexo-cli/-/hexo-cli-4.2.0.tgz", + "integrity": "sha512-NJQYKnD41KUlNZzEyi8wDzPeGhrjwLLTa05dtkwq+lJch+j9idZTh4dgn3w/82o6Q/zygn+ibO1XvihMfFdSfw==", + "requires": { + "abbrev": "^1.1.1", + "bluebird": "^3.5.5", + "chalk": "^4.0.0", + "command-exists": "^1.2.8", + "hexo-fs": "^3.0.1", + "hexo-log": "^2.0.0", + "hexo-util": "^2.0.0", + "minimist": "^1.2.5", + "resolve": "^1.11.0", + "tildify": "^2.0.0" + } + } + } + }, + "hexo-front-matter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-front-matter/-/hexo-front-matter-2.0.0.tgz", + "integrity": "sha512-IR3tjAyK2Ga/0a/WDAoNy5+n3ju2/mkuAsCDEeGgGLf5+7kkiOkkG/FrnueuYgz0h2MPfWDLBiDsSTCmB0sLCA==", + "requires": { + "js-yaml": "^3.13.1" + } + }, + "hexo-fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hexo-fs/-/hexo-fs-3.1.0.tgz", + "integrity": "sha512-SfoDH7zlU9Iop+bAfEONXezbNIkpVX1QqjNCBYpapilZR+xVOCfTEdlNixanrKBbLGPb2fXqrdDBFgrKuiVGQQ==", + "requires": { + "bluebird": "^3.5.1", + "chokidar": "^3.0.0", + "graceful-fs": "^4.1.11", + "hexo-util": "^2.0.0" + } + }, + "hexo-generator-archive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-archive/-/hexo-generator-archive-1.0.0.tgz", + "integrity": "sha512-24TeanDGpMBUIq37DHpSESQbeN6ssZ06edsGSI76tN4Yit50TgsgzP5g5DSu0yJk0jUtHJntysWE8NYAlFXibA==", + "requires": { + "hexo-pagination": "1.0.0" + } + }, + "hexo-generator-category": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-category/-/hexo-generator-category-1.0.0.tgz", + "integrity": "sha512-kmtwT1SHYL2ismbGnYQXNtqLFSeTdtHNbJIqno3LKROpCK8ybST5QVXF1bZI9LkFcXV/H8ilt8gfg4/dNNcQQQ==", + "requires": { + "hexo-pagination": "1.0.0" + } + }, + "hexo-generator-index": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-index/-/hexo-generator-index-2.0.0.tgz", + "integrity": "sha512-q/29Vj9BZs0dwBcF+s9IT8ymS4aYZsDwBEYDnh96C8tsX+KPY5v6TzCdttz58BchifaJpP/l9mi6u9rZuYqA0g==", + "requires": { + "hexo-pagination": "1.0.0", + "timsort": "^0.3.0" + } + }, + "hexo-generator-tag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-generator-tag/-/hexo-generator-tag-1.0.0.tgz", + "integrity": "sha512-JDoB2T1EncRlyGSjuAhkGxRfKkN8tq0i8tFlk9I4q2L6iYxPaUnFenhji0oxufTADC16/IchuPjmMk//dt8Msg==", + "requires": { + "hexo-pagination": "1.0.0" + } + }, + "hexo-i18n": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-i18n/-/hexo-i18n-1.0.0.tgz", + "integrity": "sha512-yw90JHr7ybUHN/QOkpHmlWJj1luVk5/v8CUU5NRA0n4TFp6av8NT7ujZ10GDawgnQEdMHnN5PUfAbNIVGR6axg==", + "requires": { + "sprintf-js": "^1.0.3" + } + }, + "hexo-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-log/-/hexo-log-2.0.0.tgz", + "integrity": "sha512-U7zdDae74pXcyhQEyNmpJdq3UI6zWKxQ7/zLoMr/d3CBRdIfB5yO8DWqKUnewfibYv0gODyTWUIhxQDWuwloow==", + "requires": { + "chalk": "^4.0.0" + } + }, + "hexo-migrator-wordpress": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/hexo-migrator-wordpress/-/hexo-migrator-wordpress-2.1.2.tgz", + "integrity": "sha512-6ENbV+gu8LCY83N21dROJbKbiNemzI4vLhWOJ89rsRsR0PvCp9U2t053KfK9uUwS3auZ9egSsMarTxOeca7iEA==", + "requires": { + "camaro": "^6.0.2", + "got": "^11.3.0", + "hexo-fs": "^3.1.0", + "hexo-util": "^2.1.0", + "turndown": "^6.0.0" + } + }, + "hexo-pagination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-pagination/-/hexo-pagination-1.0.0.tgz", + "integrity": "sha512-miEVFgxchPr2qNWxw0JWpJ9R/Yaf7HjHBZVjvCCcqfbsLyYtCvIfJDxcEwz1sDOC/fLzYPqNnhUI73uNxBHRSA==" + }, + "hexo-renderer-ejs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-ejs/-/hexo-renderer-ejs-1.0.0.tgz", + "integrity": "sha512-O925i69FG4NYO62oWORcPhRZZX0sPx1SXGKUS5DaR/lzajyiXH5i2sqnkj0ya0rNLXIy/D7Xmt7WbFyuQx/kKQ==", + "requires": { + "ejs": "^2.6.1" + } + }, + "hexo-renderer-marked": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-marked/-/hexo-renderer-marked-3.3.0.tgz", + "integrity": "sha512-U2EomSjsrixQXqqpZ3hYThLpKLg4RSC5hC6dwr/SZG/1LxKKfMoLA48wKgx+xSgzkydye0IBDJ+UAQPLaTfCdw==", + "requires": { + "hexo-util": "^2.1.0", + "marked": "^1.0.0" + } + }, + "hexo-renderer-pug": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexo-renderer-pug/-/hexo-renderer-pug-1.0.0.tgz", + "integrity": "sha512-lzTSZvPxInGsYJGpv8Z9TQ0n1ZWI6fuSbtyvRmX5tloWPQNNdBhlDIlOsSc2KYQ28QOGuti8GkJ0wPBqLeKf8A==", + "requires": { + "pug": "^2.0.1" + } + }, + "hexo-renderer-stylus": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hexo-renderer-stylus/-/hexo-renderer-stylus-2.0.1.tgz", + "integrity": "sha512-1S4AG8RtzWqVrqKIYv2AJ4UYms5SHDjkdYS7IiGwgUejL24agbTktpAbnH2cG1JWZ15SRqYN0UGB9aAoSAgvEA==", + "requires": { + "nib": "^1.1.2", + "stylus": "^0.54.8" + } + }, + "hexo-server": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hexo-server/-/hexo-server-2.0.0.tgz", + "integrity": "sha512-GnxCU0hjepjmqMENcKOKxpzOajb9YrjQczWsZPXU25l5Ze+M9KJLSVljIRFR+ikDRIPDtXaUY2WgYrWPbNEGfg==", + "requires": { + "bluebird": "^3.5.5", + "chalk": "^4.0.0", + "compression": "^1.7.4", + "connect": "^3.7.0", + "mime": "^2.4.3", + "morgan": "^1.9.1", + "open": "^7.0.0", + "serve-static": "^1.14.1" + } + }, + "hexo-util": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/hexo-util/-/hexo-util-2.4.0.tgz", + "integrity": "sha512-IPQvAyn0cznYMU2gskMiZ6LZEvN7wHNusrJoYxrir4f7S7POpZeDTBswiko9R1qqd+/hu07wUYZdm4ceTTCEaA==", + "requires": { + "bluebird": "^3.5.2", + "camel-case": "^4.0.0", + "cross-spawn": "^7.0.0", + "deepmerge": "^4.2.2", + "highlight.js": "^10.0.0", + "htmlparser2": "^4.0.0", + "prismjs": "^1.17.1", + "strip-indent": "^3.0.0", + "striptags": "^3.1.1" + } + }, + "highlight.js": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.4.0.tgz", + "integrity": "sha512-EfrUGcQ63oLJbj0J0RI9ebX6TAITbsDBLbsjr881L/X5fMO9+oadKzEF21C7R3ULKG6Gv3uoab2HiqVJa/4+oA==" + }, + "html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "requires": { + "whatwg-encoding": "^1.0.5" + } + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + } + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "http2-wrapper": { + "version": "1.0.0-beta.5.2", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.0-beta.5.2.tgz", + "integrity": "sha512-xYz9goEyBnC8XwXDTuC/MZ6t+MrKVQZOk4s7+PaDkwIsQd8IwqvM+0M6bA/2lvG8GHXcPdf+MejTUeO2LCPCeQ==", + "requires": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-core-module": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", + "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "requires": { + "has": "^1.0.3" + } + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==" + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "requires": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-object": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz", + "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==" + }, + "is-potential-custom-element-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz", + "integrity": "sha1-DFLlS8yjkbssSUsh6GJtczbG45c=" + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=" + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.4.0.tgz", + "integrity": "sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w==", + "requires": { + "abab": "^2.0.3", + "acorn": "^7.1.1", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.2.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.0", + "domexception": "^2.0.1", + "escodegen": "^1.14.1", + "html-encoding-sniffer": "^2.0.1", + "is-potential-custom-element-name": "^1.0.0", + "nwsapi": "^2.2.0", + "parse5": "5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "saxes": "^5.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^3.0.1", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0", + "ws": "^7.2.3", + "xml-name-validator": "^3.0.0" + } + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "keyv": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.0.3.tgz", + "integrity": "sha512-zdGa2TOpSZPq5mU6iowDARnMBZgtCqJ11dJROFi6tg6kTn4nuUdU09lFyLFSaHrWqpIJ+EBq4E8/Dc0Vx5vLdA==", + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "lower-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.1.tgz", + "integrity": "sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ==", + "requires": { + "tslib": "^1.10.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "marked": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.5.tgz", + "integrity": "sha512-2AlqgYnVPOc9WDyWu7S5DJaEZsfk6dNh/neatQ3IHUW4QLutM/VPSH9lG7bif+XjFWc9K9XR3QvR+fXuECmfdA==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==" + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "moment-timezone": { + "version": "0.5.32", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.32.tgz", + "integrity": "sha512-Z8QNyuQHQAmWucp8Knmgei8YNo28aLjJq6Ma+jy1ZSpSk5nyfRT8xgUbSQvD2+2UajISfenndwvFuH3NGS+nvA==", + "requires": { + "moment": ">= 2.9.0" + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "nib": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/nib/-/nib-1.1.2.tgz", + "integrity": "sha1-amnt5AgblcDe+L4CSkyK4MLLtsc=", + "requires": { + "stylus": "0.54.5" + }, + "dependencies": { + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "requires": { + "amdefine": ">=0.0.4" + } + }, + "stylus": { + "version": "0.54.5", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", + "requires": { + "css-parse": "1.7.x", + "debug": "*", + "glob": "7.0.x", + "mkdirp": "0.5.x", + "sax": "0.5.x", + "source-map": "0.1.x" + } + } + } + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "no-case": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.3.tgz", + "integrity": "sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw==", + "requires": { + "lower-case": "^2.0.1", + "tslib": "^1.10.0" + } + }, + "node-addon-api": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz", + "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==", + "optional": true + }, + "node-gyp-build": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz", + "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg==", + "optional": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + }, + "nunjucks": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.2.tgz", + "integrity": "sha512-KUi85OoF2NMygwODAy28Lh9qHmq5hO3rBlbkYoC8v377h4l8Pt5qFjILl0LWpMbOrZ18CzfVVUvIHUIrtED3sA==", + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "chokidar": "^3.3.0", + "commander": "^5.1.0" + } + }, + "nwsapi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "open": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", + "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "p-cancelable": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz", + "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.1.tgz", + "integrity": "sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA==", + "requires": { + "no-case": "^3.0.3", + "tslib": "^1.10.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + }, + "piscina": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-1.6.3.tgz", + "integrity": "sha512-I8aoBroMD6cRGYFsW1oN3X5YfJAyuT4pn+P2Tnk8ZYQ134ZqaQ0mjUztm9+NmKKawd0XlTY8wvz6bMxckrJX6g==", + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^1.2.0", + "hdr-histogram-percentiles-obj": "^2.0.1", + "nice-napi": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "prismjs": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.22.0.tgz", + "integrity": "sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==", + "requires": { + "clipboard": "^2.0.0" + } + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "pug": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", + "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "requires": { + "pug-code-gen": "^2.0.2", + "pug-filters": "^3.1.1", + "pug-lexer": "^4.1.0", + "pug-linker": "^3.0.6", + "pug-load": "^2.0.12", + "pug-parser": "^5.0.1", + "pug-runtime": "^2.0.5", + "pug-strip-comments": "^1.0.4" + } + }, + "pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "requires": { + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.5" + } + }, + "pug-code-gen": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.2.tgz", + "integrity": "sha512-kROFWv/AHx/9CRgoGJeRSm+4mLWchbgpRzTEn8XCiwwOy6Vh0gAClS8Vh5TEJ9DBjaP8wCjS3J6HKsEsYdvaCw==", + "requires": { + "constantinople": "^3.1.2", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.4", + "pug-error": "^1.3.3", + "pug-runtime": "^2.0.5", + "void-elements": "^2.0.1", + "with": "^5.0.0" + } + }, + "pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==" + }, + "pug-filters": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", + "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "requires": { + "clean-css": "^4.1.11", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + } + }, + "pug-lexer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", + "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "requires": { + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.3" + } + }, + "pug-linker": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", + "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "requires": { + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8" + } + }, + "pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "requires": { + "object-assign": "^4.1.0", + "pug-walk": "^1.1.8" + } + }, + "pug-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", + "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "requires": { + "pug-error": "^1.3.3", + "token-stream": "0.0.1" + } + }, + "pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==" + }, + "pug-strip-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "requires": { + "pug-error": "^1.3.3" + } + }, + "pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==" + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "dependencies": { + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-alpn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.0.0.tgz", + "integrity": "sha512-rTuiIEqFmGxne4IovivKSDzld2lWW9QCjqv80SYjPgf+gS35eaCAjaP54CCwGAwBtnCsvNLYtqxe1Nw+i6JEmA==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.0.tgz", + "integrity": "sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw==", + "requires": { + "lowercase-keys": "^2.0.0" + } + }, + "rfdc": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", + "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==" + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" + }, + "saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "requires": { + "xmlchars": "^2.2.0" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "requires": { + "min-indent": "^1.0.0" + } + }, + "striptags": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.1.1.tgz", + "integrity": "sha1-yMPn/db7S7OjKjt1LltePjgJPr0=" + }, + "stylus": { + "version": "0.54.8", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", + "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", + "requires": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "requires": { + "css": "^2.0.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "tildify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tildify/-/tildify-2.0.0.tgz", + "integrity": "sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==" + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", + "optional": true + }, + "titlecase": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/titlecase/-/titlecase-1.1.3.tgz", + "integrity": "sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=" + }, + "tough-cookie": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", + "requires": { + "ip-regex": "^2.1.0", + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tr46": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz", + "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==", + "requires": { + "punycode": "^2.1.1" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "turndown": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/turndown/-/turndown-6.0.0.tgz", + "integrity": "sha512-UVJBhSyRHCpNKtQ00mNWlYUM/i+tcipkb++F0PrOpt0L7EhNd0AX9mWEpL2dRFBu7LWXMp4HgAMA4OeKKnN7og==", + "requires": { + "jsdom": "^16.2.0" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" + }, + "w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "requires": { + "browser-process-hrtime": "^1.0.0" + } + }, + "w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "requires": { + "xml-name-validator": "^3.0.0" + } + }, + "warehouse": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/warehouse/-/warehouse-4.0.0.tgz", + "integrity": "sha512-9i6/JiHzjnyene5Pvvl2D2Pd18no129YGy0C0P7x18iTz/SeO9nOBioR64XoCy5xKwBKQtl3MU361qpr0V9uXw==", + "requires": { + "JSONStream": "^1.0.7", + "bluebird": "^3.2.2", + "cuid": "^2.1.4", + "graceful-fs": "^4.1.3", + "is-plain-object": "^3.0.0", + "rfdc": "^1.1.4" + } + }, + "webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" + }, + "whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "requires": { + "iconv-lite": "0.4.24" + } + }, + "whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "whatwg-url": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.4.0.tgz", + "integrity": "sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw==", + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^2.0.2", + "webidl-conversions": "^6.1.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "requires": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + } + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "ws": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" + }, + "xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..64ba98a --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "hexo-blog", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "hexo generate", + "clean": "hexo clean", + "deploy": "hexo deploy", + "server": "hexo server" + }, + "hexo": { + "version": "5.2.0" + }, + "dependencies": { + "hexo": "^5.0.0", + "hexo-generator-archive": "^1.0.0", + "hexo-generator-category": "^1.0.0", + "hexo-generator-index": "^2.0.0", + "hexo-generator-tag": "^1.0.0", + "hexo-migrator-wordpress": "^2.1.2", + "hexo-renderer-ejs": "^1.0.0", + "hexo-renderer-marked": "^3.0.0", + "hexo-renderer-pug": "^1.0.0", + "hexo-renderer-stylus": "^2.0.1", + "hexo-server": "^2.0.0" + } +} diff --git a/scaffolds/draft.md b/scaffolds/draft.md new file mode 100644 index 0000000..498e95b --- /dev/null +++ b/scaffolds/draft.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +tags: +--- diff --git a/scaffolds/page.md b/scaffolds/page.md new file mode 100644 index 0000000..f01ba3c --- /dev/null +++ b/scaffolds/page.md @@ -0,0 +1,4 @@ +--- +title: {{ title }} +date: {{ date }} +--- diff --git a/scaffolds/post.md b/scaffolds/post.md new file mode 100644 index 0000000..1f9b9a4 --- /dev/null +++ b/scaffolds/post.md @@ -0,0 +1,5 @@ +--- +title: {{ title }} +date: {{ date }} +tags: +--- diff --git a/source/_posts/angular-cli-之初体验.md b/source/_posts/angular-cli-之初体验.md new file mode 100644 index 0000000..4ec72ed --- /dev/null +++ b/source/_posts/angular-cli-之初体验.md @@ -0,0 +1,155 @@ +--- +title: Angular CLI 之初体验 +tags: [] +id: '143' +categories: + - - 分享 +date: 2017-09-20 17:13:04 +--- + +[**Angular CLI**](https://cli.angular.io/)是一个**命令行界面**工具,它可以创建项目、添加文件以及执行一大堆开发任务,比如测试、打包和发布。 比起需要自己去搭建工作流,**[Angular CLI](https://cli.angular.io/)** 可以为你省去这些繁琐的工作,直接进行项目的开发。 + +## 配置开发环境 + +1. 安装最新版本的node,angular官方要求**node `6.9.x` 和 npm `3.x.x` 以上的版本。** 具体安装请参考 [node官网](http://nodejs.cn/) ,安装过程不再赘述。 +2. 全局安装 [**Angular CLI**](https://cli.angular.io/) + + ``` + npm install -g @angular/cli + ``` + + +## 创建新项目 + +1. 打开终端窗口 运行下列命令来生成一个新项目以及应用的骨架代码: + + ``` + ng new myapp + ``` + +2. 进入项目目录,并启动服务器。 + + ``` + cd myapp + ng serve --open + ``` + + ng serve命令会启动开发服务器,监听文件变化,并在修改这些文件时重新构建此应用。 使用--open(或-o)参数可以自动打开浏览器并访问http://localhost:4200/。 + + ![app-works](https://image.dengtongyu.com/blog/2017/09/app-works.png) + + +## 设置代理 + +1. 我们开发的时候,有时需要对接口做代理,**[Angular CLI](https://cli.angular.io/)**同样给我们提供了设置代理的方式 + + 首先在项目的根目录下创建一个**proxy.conf.json** 文件 + + ``` + { + "/data": { + "target": "http://xxx.xxx.xxx.xxx:8080", + "secure": false, + "changeOrigin": true + } + } + ``` + + "/data"是接口所包含的字符,target则是代理的ip和端口号 + +2. 然后在项目的根目录打开终端,运行下面的指令: + + ``` + ng serve --proxy-config proxy.conf.json + ``` + + 这样代理的设置就完成了。 + + +## 样式编译 + +**[Angular CLI](https://cli.angular.io/)** 支持sass、less、stylus等方式编译样式 + +1. 在创建项目时可以设置编译方式: + + ``` + ng new myapp --style=sass + ng new myapp --style=less + ng new myapp --style=stylus + ``` + + 上面分别是创建项目时设定的样式编译方式:sass、less、stylus + +2. 当然,你也可以在手动修改,在项目根目录下找到 **.angular-cli.json** + + ``` + "defaults": { + "styleExt": "styl", + "component": {} + } + ``` + + defaults下面的styleExt就是你要设定的编译方式,这里采用了stylus,stylus的后缀为styl,其他的方式设置对应的后缀名。 + + 然后继续在该文件中找到 + + ``` + "styles": [ + "styles.styl" + ] + ``` + + 全改完了之后,不要忘了把项目**根目录**里的css文件和**src/app**里的css文件也改成相应的后缀 + + +## 打包编译后资源引入根目录 + +**[Angular CLI](https://cli.angular.io/)** 打包编译后,引入的资源都是"/"根目录引入,但有时候我们的项目可能并不是存放在域名的根目录,所以这种情况就需要我们设置一下引入资源的根目录了 + +1. 打开src目录下面的**index.html**文件,在标签里面有个base标签 + + ``` + + + + + myapp + + + + + + + + ``` + + base标签默认是"/"根目录 + +2. 然后我们回到整项目的根目录下面找到**package.json**文件,打开文件,找到"scripts",修改"build"的值 + + ``` + "scripts": { + "ng": "ng", + "start": "ng serve --proxy-config proxy.conf.json", + "build": "ng build --prod --bh /pages/myapp/", + "test": "ng test", + "lint": "ng lint", + "e2e": "ng e2e" + }, + ``` + + 然后在命令行中输入 + + ``` + npm run build + ``` + + 等待编译完成后,在dist目录下的**index.html**文件中的base标签的值就变成你之前设置的目录了,引入的资源放到正式环境也可以正常访问。 + + 当然,你也可以不设置**package.json**文件,直接在命令行输入 + + ``` + ng build --prod --bh /pages/myapp/ + 或者 + ng build --prod --base-href /pages/myapp/ + ``` \ No newline at end of file diff --git a/source/_posts/browser-sync代理接口在ie8下返回406问题.md b/source/_posts/browser-sync代理接口在ie8下返回406问题.md new file mode 100644 index 0000000..db84d81 --- /dev/null +++ b/source/_posts/browser-sync代理接口在ie8下返回406问题.md @@ -0,0 +1,58 @@ +--- +title: browser-sync代理接口在IE8下返回406问题 +tags: [] +id: '64' +categories: + - - 分享 +date: 2016-06-28 10:15:34 +--- + +正常情况下,代理返回的头信息为: HTTP/1.1 200 OK server?? ?Apache-Coyote/1.1 content-type?? ?application/json;charset=UTF-8 transfer-encoding?? ?chunked date?? ?Tue, 28 Jun 2016 02:07:39 GMT connection?? ?close   然而在IE8下面却返回了下面的头信息: HTTP/1.1 406 Not Acceptable server: Apache-Coyote/1.1 set-cookie: JSESSIONID=7F367B9EB53FDC8306D807E0A7BD4201; Path=/; HttpOnly content-type: text/html;charset=utf-8 date: Tue, 28 Jun 2016 02:01:31 GMT connection: close Transfer-Encoding: chunked   通过对比头信息,在代理设置里做了一下判断,在低版本IE浏览器重新设置一下头信息。 + +```js + +var browserSync = require('browser-sync'); + +var proxyMiddleware = require('http-proxy-middleware'); + +var proxy_context = ['/service/web']; +var proxy_option = { +target: 'http://' + proxyConfig.host + ':' + proxyConfig.port, +//增加一个错误处理在window 7 ie7,8 +onProxyReq: function(proxyReq, req, res){ +var is4dot0 = false; +var acceptValue = ""; +var acceptEncodeing = ""; +var rawHeaders = req.rawHeaders; + +rawHeaders.forEach(function(value, index){ +if(value === "Accept"){ +acceptValue = rawHeaders[index+1]; +} +if(value === "Accept-Encoding"){ +acceptEncodeing = rawHeaders[index+1]; +} +if(value.indexOf("Mozilla/4.0") === 0){ +is4dot0 = true; +} +}); +if(is4dot0){ +proxyReq.setHeader("Accept", acceptValue); +proxyReq.setHeader("Accept-Encoding", acceptEncodeing); +} +} +}; +var proxy = proxyMiddleware(proxy_context, proxy_option); + +browserSync({ +host: 'local.xxx.com', +port: 3000, +open: 'external', +browser: 'google chrome', +ghostMode: false, // 每个页面的镜像独立,不相互影响 +server: { +baseDir: "build", +middleware: [proxy] +} +}); +``` \ No newline at end of file diff --git a/source/_posts/egret-练手-《围住神经猫》.md b/source/_posts/egret-练手-《围住神经猫》.md new file mode 100644 index 0000000..70d3bdc --- /dev/null +++ b/source/_posts/egret-练手-《围住神经猫》.md @@ -0,0 +1,252 @@ +--- +title: egret 练手 《围住神经猫》 +tags: [] +id: '115' +categories: + - - 分享 +date: 2017-09-04 11:42:10 +--- + +Egret引擎是一个开源免费的游戏框架,用于构建二维游戏、演示程序和其他图形界面交互应用等。Egret使用TypeScript脚本语言开发。当游戏完成最终的打包后,可以将程序转换为HTML5游戏。实现跨平台特性。 Egret不仅仅是一个基于HTML5技术的游戏引擎,我们的产品线中除了Egret引擎还提供了很多辅助游戏开发的工具。准确的来说,Egret是一套游戏开发的解决方案。你可以使用Egret引擎来帮助你开发HTML5游戏,并运行在手机和PC端的浏览器中,同时也你可以使用Egret提供的相关工具搭建你自己的游戏开发工作流。 Egret的语法与ActionScript 3.0 一致,如果对as3.0熟悉的童鞋能很快上手。 果然有兴趣的童鞋可以直接去Egret的官网,有详细的文档资料 [白鹭引擎官网](https://www.egret.com/) 最近学习Egret,看了一些文档后,决定找个简单的项目自己练一下手,《围住神经猫》应该是个很好的选择。 先贴上完成的作品 [Demo](https://demo.dengtongyu.com/pages/nervcat/) **1.新建项目** 打开EgretWing --> 文件 --> 新建项目 --> Egret游戏项目 完成后打开 src 下的 Main.ts,改文件就是整个项目的入口文件,里面还有一些已经写好的方法,方便你后面调用。 具体请参考 [传送门](http://edn.egret.com/cn/article/index/id/579) 里面介绍得很详细 **2.加载进度条** 新建游戏项目后,默认的加载进度比较简陋,我们需要美化一下。 打开 src\\LoadingUI.ts 文件,这个就是加载进度条的类。 + +``` + +class LoadingUI extends egret.Sprite { + + public constructor() { + super(); + this.createView(); + } + + private textField:egret.TextField; + + private createView():void { + this.textField = new egret.TextField(); + this.addChild(this.textField); + this.textField.y = 300; + this.textField.width = 480; + this.textField.height = 100; + this.textField.textAlign = "center"; + } + + public setProgress(current:number, total:number):void { + this.textField.text = `Loading...${current}/${total}`; + } +} +``` + +从代码可以看出,进度条仅仅是用文字展示了加载进度,我们来加个进度条UI美化一下。 + +``` + +class LoadingUI extends egret.Sprite { + + public constructor() { + super(); + this.createView(); + } + + private textField:egret.TextField; + private pBarBg:egret.Shape; + private pBarMove:egret.Shape; + + private createView():void { + this.pBarBg = new egret.Shape(); + this.pBarBg.graphics.beginFill( 0x989898, 1); + this.pBarBg.graphics.drawRect( 0, 0, this.width, this.height ); + this.pBarBg.graphics.endFill(); + this.addChild(this.pBarBg); + + this.pBarMove = new egret.Shape(); + this.addChild(this.pBarMove); + + this.textField = new egret.TextField(); + this.textField.width = this.width; + this.textField.textAlign = "center"; + this.textField.y = 15; + this.addChild(this.textField); + } + + private moveProgressBar(percent:number):void{ + this.pBarMove.graphics.beginFill( 0x518cdd, 1); + this.pBarMove.graphics.drawRect( 0, 0, this.width*percent, this.height); + this.pBarMove.graphics.endFill(); + } + + public setProgress(current:number, total:number):void { + var num = Math.floor(current / total * 100); + this.textField.text = 'Loading... ' + num.toString() + " %"; + this.moveProgressBar(current/total); + } +} +``` + +效果如图: ![20170901165944](https://image.dengtongyu.com/blog/2017/09/20170901165944.png) **3.开始画面** 进度条弄好之后,我们开始做游戏开始的画面。如图: ![20170901171729](https://image.dengtongyu.com/blog/2017/09/20170901171729.png) 可以看出,开始画面由背景、网格地图和开始按钮的图片组成,这个实现起来很简单。 + +``` + + private mapGroup:eui.Group;//地图容器 + private circleArray:Array;//圆圈网格的数组 + + private bg:egret.Bitmap;//开始Bitmap + private popGroup:eui.Group;//开始画面容器 + private btnStart:eui.Button;//开始按钮 + private btnStartPng:egret.Bitmap;//开始Bitmap + + private init():void{ + //利用白鹭预设的创建bitmap方法创建背景图片 + this.bg = this.createBitmapByName("bg_jpg"); + this.stage.addChild(this.bg); + + //地图容器 + this.mapGroup = new eui.Group(); + this.mapGroup.width = 560; + this.mapGroup.height = 560; + this.mapGroup.x = 40; + this.mapGroup.y = 400; + this.stage.addChild(this.mapGroup); + + //开始画面容器 + this.popGroup = new eui.Group(); + this.popGroup.width = this.SW; + this.popGroup.height = this.SH; + this.popGroup.layout = new eui.BasicLayout(); + this.stage.addChild(this.popGroup); + + //开始Bitmap + this.btnStartPng = this.createBitmapByName("btn_start_png"); + this.btnStartPng.scaleX = this.btnStartPng.scaleY = 1.2; + + //开始按钮 + this.btnStart = new eui.Button(); + this.btnStart.width = this.btnStartPng.width; + this.btnStart.height = this.btnStartPng.height; + this.btnStart.horizontalCenter = 0; + this.btnStart.verticalCenter = 0; + this.popGroup.addChild(this.btnStart); + this.btnStart.addChild(this.btnStartPng); + this.btnStart.addEventListener(egret.TouchEvent.TOUCH_TAP,this.touchHandler,this); + + } + + private touchHandler(event:TouchEvent) { + this.popGroup.visible = this.btnStartPng.visible = false; + this.btnStart.removeEventListener(egret.TouchEvent.TOUCH_TAP,this.touchHandler,this); + } + + + +然后在createGameScene方法里面执行this.init()就可以了。 + +但是我们还要绘制围住神经猫的9X9的网格地图。 +我们在 src 下面创建一个自定义布局类,命名为 Map.ts +``` + +``` + +module uilayout { + + var UIComponentClass = "eui.UIComponent"; + + /**自定义的布局类*/ + export class CatMap extends eui.LayoutBase{ + public constructor(){ + super(); + } + /** + * 计算target的尺寸 + * 如果您的自定义布局需要根据内部子项计算尺寸,请重写这个方法 + **/ + public measure():void{ + super.measure(); + } + /** + * 重写显示列表更新 + */ + public updateDisplayList(unscaledWidth:number, unscaledHeight:number):void{ + super.updateDisplayList(unscaledWidth, unscaledHeight); + if (this.target==null) + return; + let sunElement:eui.UIComponent; + //子元素个数 + let count:number = this.target.numElements; + //元素x轴方向间隔 + let gapX:number = 0; + //元素y轴方向间隔 + let gapY:number = 0; + //元素所在列数 + let column:number = 0; + //元素所在行数 + let row:number = 0; + //奇偶行数错位距离 + let parityWidth:number = 0; + if(count > 0) { +sunElement = this.target.getElementAt(0); +gapX = (unscaledWidth - sunElement.width * 9 - sunElement.width / 2)/8; +gapY = (unscaledHeight - sunElement.height * 9 - sunElement.height / 2)/8; +//console.log(unscaledWidth,unscaledHeight,sunElement.width,sunElement.height); + } + for (let i:number = 0; i < count; i++){ + + let layoutElement:eui.UIComponent = ( this.target.getElementAt(i) ); + if ( !egret.is(layoutElement,UIComponentClass) !layoutElement.includeInLayout ) { + continue; + } +row = Math.floor(i / 9); +column = i % 9; +if(row % 2 == 0) { +parityWidth = 0; +}else{ +parityWidth = layoutElement.width / 2; +} +let childX:number = column * (layoutElement.width + gapX) + parityWidth; +let childY:number = row * (layoutElement.height + gapY); + layoutElement.setLayoutBoundsPosition(childX, childY); + } + } + } +} +``` + +这样一个自定义布局类就写好了,如果对自定义布局不太了解的,可以去Egret的官网查看文档 [传送门](http://edn.egret.com/cn/article/index/id/525) 然后,我们在Main.ts入口文件里绘制9X9的圆圈网格。 + +``` + +/**创建网格**/ + private creatMap() { + this.circleArray = new Array(); + for(let i = 0;i<81;i++){ let circleData = new Object(); circleData['ui'] = new eui.Group(); circleData['ui'].name = i; circleData['img1'] = this.createBitmapByName('pot1_png'); circleData['img2'] = this.createBitmapByName('pot2_png'); if(i == 40) { circleData['img1'].visible = true; circleData['img2'].visible = false; circleData['val'] = 0; }else{ if(Math.random()*10 > 8) { + circleData['img1'].visible = false; + circleData['img2'].visible = true; + circleData['val'] = 1; + }else{ + circleData['img1'].visible = true; + circleData['img2'].visible = false; + circleData['val'] = 0; + } + } + this.circleArray.push(circleData); + circleData['img1'].scaleX = circleData['img1'].scaleY = 1.2; + circleData['img2'].scaleX = circleData['img2'].scaleY = 1.2; + circleData['ui'].width = circleData['img1'].width; + circleData['ui'].height = circleData['img1'].height; + //circleData['ui'].layout = new eui.BasicLayout(); + circleData['ui'].addChild(circleData['img1']); + circleData['ui'].addChild(circleData['img2']); + if(i == 40) {//中间神经猫的位置 + this.insertRunCat(circleData['ui']); + this.cat.visible = false; + this.catPos = 40; + } + if(circleData['val'] == 0) { + circleData['img1'].touchEnabled = true; + circleData['img1'].addEventListener(egret.TouchEvent.TOUCH_TAP,this.touchCircle,this); + } + this.mapGroup.addChild(circleData['ui']); + } + //引用自定义布局 + this.mapGroup.layout = new uilayout.CatMap(); + } +``` + +然后在init方法里面执行this.creatMap()就可以完成绘制了 ![20170901171508](https://image.dengtongyu.com/blog/2017/09/20170901171508.png) 后面的操作逻辑就不赘述了,有机会再跟大家分享。 \ No newline at end of file diff --git a/source/_posts/egret-获取设备陀螺仪信息以及运动状态信息.md b/source/_posts/egret-获取设备陀螺仪信息以及运动状态信息.md new file mode 100644 index 0000000..cea5d95 --- /dev/null +++ b/source/_posts/egret-获取设备陀螺仪信息以及运动状态信息.md @@ -0,0 +1,84 @@ +--- +title: egret 获取设备陀螺仪信息以及运动状态信息 +tags: [] +id: '217' +categories: + - - 分享 +date: 2017-11-22 15:55:55 +--- + +在最新版本的egret(5.0.12)中,已经支持了移动设备陀螺仪和运动状态的相关API。 **egret.DeviceOrientation** 可以监听设备方向的变化。 **egret.Motion**从用户设备读取运动状态信息并派发 CHANGE 事件。当设备移动时,传感器会检测到此移动并返回设备加速度,重力和旋转数据。 废话不多说,直接上代码: + +``` + class Main extends egret.DisplayObjectContainer { + + private orientationLabel: egret.TextField; + + private motionLabel: egret.TextField; + + public constructor() { + super(); + + this.orientationLabel = new egret.TextField(); + this.orientationLabel.width = 640; + this.orientationLabel.textAlign = egret.HorizontalAlign.CENTER; + this.addChild(this.orientationLabel); + + this.motionLabel = new egret.TextField(); + this.motionLabel.width = 640; + this.motionLabel.y = 300; + this.motionLabel.textAlign = egret.HorizontalAlign.CENTER; + this.addChild(this.motionLabel); + + //创建 DeviceOrientation 类 + var orientation = new egret.DeviceOrientation(); + //添加事件监听器 + orientation.addEventListener(egret.Event.CHANGE,this.onOrientation,this); + //开始监听设备方向变化 + orientation.start(); + + //创建 Motion 类 + var motion = new egret.Motion(); + //添加事件监听器 + motion.addEventListener(egret.Event.CHANGE,this.onMotion,this); + //开始监听设备方向变化 + motion.start(); + } + + private onOrientation(e:egret.OrientationEvent){ + this.orientationLabel.textFlow = >[ + {text: "绕 Z 轴的角度:\n"} + , {text: e.alpha, style: {"textColor": 0xff0000}} + , {text: "\n\n绕 X 轴的角度:\n"} + , {text: e.beta, style: {"textColor": 0xff0000}} + , {text: "\n\n绕 Y 轴的角度:\n"} + , {text: e.gamma, style: {"textColor": 0xff0000}} + ]; + } + + private onMotion(e:egret.MotionEvent){ + this.motionLabel.textFlow = >[ + {text: "X 轴方向的加速度\n"} + , {text: e.acceleration.x, style: {"textColor": 0xff0000}} + , {text: "\n\nY 轴方向的加速度:\n"} + , {text: e.acceleration.y, style: {"textColor": 0xff0000}} + , {text: "\n\nZ 轴方向的加速度:\n"} + , {text: e.acceleration.z, style: {"textColor": 0xff0000}} + , {text: "\n\nX 轴加速度(考虑重力加速度)\n"} + , {text: e.accelerationIncludingGravity.x, style: {"textColor": 0xff0000}} + , {text: "\n\nZ 轴方向的加速度:\n"} + , {text: e.accelerationIncludingGravity.y, style: {"textColor": 0xff0000}} + , {text: "\n\nZ 轴方向的加速度:\n"} + , {text: e.accelerationIncludingGravity.z, style: {"textColor": 0xff0000}} + , {text: "\n\n左右旋转速度(alpha轴向的角速度)\n"} + , {text: e.rotationRate.alpha, style: {"textColor": 0xff0000}} + , {text: "\n\n前后旋转速度(beta轴向的角速度)\n"} + , {text: e.rotationRate.beta, style: {"textColor": 0xff0000}} + , {text: "\n\n扭转速度(gamma轴向的角速度)\n"} + , {text: e.rotationRate.gamma, style: {"textColor": 0xff0000}} + ]; + } +} +``` + +首先创建了DeviceOrientation的实例orientation。并给他添加了一个事件侦听器,监听它的CHANGE事件。然后调用了他的start()方法来开始监听设备方向的变化。 当系统监听到了方向的变化后,将回调函数 onOrientation。然后通过egret.OrientationEvent事件的三个属性来获取设备的方向变化信息。 OrientationEvent的三个属性:alpha,beta和gamma。 alpha表示设备绕 Z 轴的角度,单位是 角度 beta 表示设备绕 X 轴的角度,单位是 角度 gamma 表示设备绕 Y 轴的角度,单位是 角度 同样,创建了Motion的实例motion。并给他添加了一个事件侦听器,监听它的CHANGE事件。然后调用了他的start()方法来开始监听设备方向的变化。 当系统监听到了方向的变化后,将回调函数 onMotion。然后通过egret.MotionEvent事件的三个属性来获取设备运动的具体信息。 acceleration 表示设备在 X Y Z 轴方将的加速度信息,单位是 m/s2,不包含重力。 acceleration 表示设备在 X Y Z 轴方将的加速度信息,单位是 m/s2,包含重力。 rotationRate 表示设备在 alpha、 beta 和 gamma 三个轴向的角速度信息,单位是 角度每秒。 最终的效果demo->[传送门](https://demo.dengtongyu.com/pages/orientation/) 或者手机扫一扫: ![egret陀螺仪demo](https://image.dengtongyu.com/blog/2017/11/下载-1.png) \ No newline at end of file diff --git a/source/_posts/egret3d-用视频video做纹理贴图.md b/source/_posts/egret3d-用视频video做纹理贴图.md new file mode 100644 index 0000000..b17d546 --- /dev/null +++ b/source/_posts/egret3d-用视频video做纹理贴图.md @@ -0,0 +1,60 @@ +--- +title: egret3d 用视频video做纹理贴图 +tags: [] +id: '267' +categories: + - - 分享 +date: 2018-01-29 17:50:02 +--- + +前段时间学习了一下egret3d,然后有些奇妙的想法,如果用视频video来做纹理贴图可不可以呢?于是就尝试了一下,效果还不错。 + +思路也很简单,创建一个立方体,然后把立方的纹理设置成一个视频video,主要代码如下 + +``` + public createGameScene() { + + this.createVideoTexture(); + + this.loaderSkyBox(); + } + //创建视频纹理 + private createVideoTexture() { + this.video = new egret3d.VideoTexture(640,264); + this.video.source = "resource/oceans-clip.mp4"; + } + + // 加载资源 + private loaderSkyBox() { + this.queueLoader = new egret3d.QueueLoader(); + this.queueLoader.load("resource/background.jpg"); + this.queueLoader.addEventListener(egret3d.LoaderEvent3D.LOADER_COMPLETE, this.onSkyBoxTexture, this); + } + + // 资源加载完成 创建立方体 + private onSkyBoxTexture(e: egret3d.LoaderEvent3D) { + // 设置背景 + let panelIamge: egret3d.ITexture = this.queueLoader.getAsset("resource/background.jpg"); + this.view.backImage = panelIamge; + + // 创建立方体和cube贴图 + this.ge = new egret3d.CubeGeometry(200, 200, 200); + this.mat = new egret3d.TextureMaterial(panelIamge); + this.mat.diffuseTexture = this.video; + + this.mesh = new egret3d.Mesh(this.ge,this.mat); + this.view.addChild3D(this.mesh); + + // 更新摄像机信息 + this.cameraCtl.distance = 1000; + this.cameraCtl.rotationX = 45; + this.cameraCtl.rotationY = 45; + + this.cameraCtl.update(); + + } +``` + +效果->[传送门](https://demo.dengtongyu.com/pages/videocude/) + +![视频贴图](https://image.dengtongyu.com/blog/2018/01/下载.png) \ No newline at end of file diff --git a/source/_posts/egret天空盒子浅尝.md b/source/_posts/egret天空盒子浅尝.md new file mode 100644 index 0000000..e08df86 --- /dev/null +++ b/source/_posts/egret天空盒子浅尝.md @@ -0,0 +1,93 @@ +--- +title: egret天空盒子浅尝 +tags: [] +id: '238' +categories: + - - 分享 +date: 2017-11-22 18:35:36 +--- + +现在移动端越来越多类VR的推广H5页面需求,egret恰好也有相关的API可以方便我们使用,这就是egret的天空盒子-**egret3d.Sky** 在 Egret 3D 所创建的空间中最外层是由天空盒子来包裹起来的。我们通常使用天空盒子来展现风景,地平线,天空,星空等等空间的“大背景”。天空盒子由一组无缝的贴图包裹起来的盒状空间。当我们的 3D 场景中包含有物体时,天空盒子总是充当其背景。 ![天空盒子](https://image.dengtongyu.com/blog/2017/11/images.jpeg) 环境:egret 5.0.12 IDE:egret wing 3 + +# 加载天空盒子素材资源 + +通过**egret3d.QueueLoader**加载器加载资源,然后监听资源加载完成事件**egret3d.LoaderEvent3D.LOADER\_COMPLETE**。 + +``` + + /** + * 加载器 + */ + private queueLoader: egret3d.QueueLoader; + // 加载天空盒资源 + private loaderSkyBox() { + this.queueLoader = new egret3d.QueueLoader(); + this.queueLoader.load("resource/front.png"); + this.queueLoader.load("resource/back.png"); + this.queueLoader.load("resource/left.png"); + this.queueLoader.load("resource/right.png"); + this.queueLoader.load("resource/up.png"); + this.queueLoader.load("resource/down.png"); + this.queueLoader.addEventListener(egret3d.LoaderEvent3D.LOADER_COMPLETE, this.onSkyBoxTexture, this); + } +``` + +# 创建天空盒子 + +资源加载完成后,用**egret3d.Sky**创建天空盒子,**egret3d.Sky**方法有三个参数, Sky(geometry:egret3d.Geometry, material:egret3d.MaterialBase, camera:egret3d.Camera3D), 分别是3D几何形状,纹理贴图,摄像机。然后把天空盒子添加到3D显示类里。 + +``` + + // 天空盒资源加载完成 创建天空盒 + private onSkyBoxTexture(e: egret3d.LoaderEvent3D) { + var loader: egret3d.QueueLoader = e.target; + + var fr: egret3d.ITexture = loader.getAsset("resource/front.png"); + var bk: egret3d.ITexture = loader.getAsset("resource/back.png"); + var lf: egret3d.ITexture = loader.getAsset("resource/left.png"); + var rt: egret3d.ITexture = loader.getAsset("resource/right.png"); + var up: egret3d.ITexture = loader.getAsset("resource/up.png"); + var dn: egret3d.ITexture = loader.getAsset("resource/down.png"); + + // 创建cube贴图 + var cubeTexture: egret3d.CubeTexture = egret3d.CubeTexture.createCubeTextureByImageTexture(bk, fr, lf, rt, up, dn); + + // 创建cube geometry 和 cube 材质 + var sky: egret3d.Sky = new egret3d.Sky(new egret3d.CubeGeometry(500, 500, 500), new egret3d.CubeTextureMaterial(cubeTexture), this.view.camera3D); + // 设置天空盒 渲染模式为背面渲染 + sky.material.cullMode = egret3d.ContextConfig.FRONT; + this.view.addChild3D(sky); + + } +``` + +# 获取陀螺仪信息 + +我们需要通过获取陀螺仪信息来根据手机的旋转,让天空盒子视角旋转对应的角度。 + +``` + + // 获取设备旋转角度 + private setOrientation() { + //创建 DeviceOrientation 类 + var orientation = new egret.DeviceOrientation(); + //添加事件监听器 + orientation.addEventListener(egret.Event.CHANGE,this.onOrientation,this); + //开始监听设备方向变化 + orientation.start(); + } + + private onOrientation(e:egret.OrientationEvent){ + this._alpha = e.alpha; + this._beta = e.beta; + this._gamma = e.gamma; + + this.cameraCtl.rotationY = (this._alpha % 360) * (-1); + this.cameraCtl.rotationX = (this._beta - 90) % 360 * (-1); + this.cameraCtl.rotationZ = 0; + + //console.log(e.rotationRate) + } +``` + +最终效果->[传送门](https://demo.dengtongyu.com/pages/boxsky/) 手机扫一扫 ![egret天空盒子demo](https://image.dengtongyu.com/blog/2017/11/下载-2.png) \ No newline at end of file diff --git a/source/_posts/egret引用animate-cc发布的html5-canvas.md b/source/_posts/egret引用animate-cc发布的html5-canvas.md new file mode 100644 index 0000000..9467543 --- /dev/null +++ b/source/_posts/egret引用animate-cc发布的html5-canvas.md @@ -0,0 +1,181 @@ +--- +title: egret引用Animate CC发布的HTML5 Canvas +tags: [] +id: '252' +categories: + - - 分享 +date: 2017-12-15 18:04:34 +--- + +在flash时代,我们可以在Adobe Flash中导出swf,然后在ActionScript 3.0项目里面引用。让设计人员可以直接提供素材给开发人员,这大大提高了开发效率。 + +但在egret里,虽然官方也提供了很丰富的工具,但是不得不承认,目前并没有足够的设计人员参与进来,导致开发人员拿到素材后还要“二次加工”,开发效率自然上不去。 + +所以,在Adobe Animate CC已经普及的今天,我们能不能让Animate CC导出的HTML5 Canvas直接用到我们的项目里呢? + +在我尝试了一翻后,确实能达到不错的效果。 + + + +# 1.建立引用路径 + +![egret引用HTML5 Canvas](https://image.dengtongyu.com/blog/2017/12/20171215173527.png) + +在egret项目里建立一个存放Animate CC导出的HTML文件目录,这里我引用了/html/man的实例。里面的index.html和index.js是用Animate CC发布导出的 + + + +# 2.动画采集器 + +通过外部引用html,然后获取页面的canvas的bitmap,然后添加到egret的舞台上。 + +新创建一个类,命名为CollectAnimation.ts + +``` +class CollectAnimation extends egret.DisplayObjectContainer { + +private _iframe:any; + +private _canvas:any; + +private _canvasBitmapData:any; + +private _canvasTexture:egret.Texture; + +private _canvasBitmap:egret.Bitmap; + +private _oldCanvasBitmap:egret.Bitmap; + +private _timer:egret.Timer; + +public constructor(url:string) { +super(); + +this._iframe = document.createElement('iframe'); +this._iframe.style.height = 0; +this._iframe.style.border = 'none'; +this._iframe.style.display = 'none'; +this._iframe.src = url; +document.querySelector('body').appendChild(this._iframe); +this._iframe.onload = () => { +this._canvas = this._iframe.contentWindow.canvas; + +//console.log(this._canvas); +} + +this._timer = new egret.Timer(50); +this._timer.addEventListener(egret.TimerEvent.TIMER,this.timerFunc,this); +} + +public get getCanvasBitmap() { +if(this._canvas) { +this._canvasBitmapData = new egret.BitmapData(this._canvas); +this._canvasTexture = new egret.Texture(); +this._canvasTexture.bitmapData = this._canvasBitmapData; +this._canvasBitmap = new egret.Bitmap(this._canvasTexture); +return this._canvasBitmap; +}else{ +return null; +} + +} + +private timerFunc() { +if(this._canvas) { + +this._canvasBitmapData = new egret.BitmapData(this._canvas); +this._canvasTexture = new egret.Texture(); +this._canvasTexture.bitmapData = this._canvasBitmapData; +if(this._canvasBitmap) { +this._oldCanvasBitmap = this._canvasBitmap; +} +this._canvasBitmap = new egret.Bitmap(this._canvasTexture); +if(this._oldCanvasBitmap && this._oldCanvasBitmap.parent) { + this.removeChild(this._oldCanvasBitmap); + } + this.addChild(this._canvasBitmap); +} + } + +public start() { +this._timer.start(); +} + +public stop() { +this._timer.stop(); +} + +public depose() { +if(this._iframe) { +this._iframe = null; +} + +if(this._canvas) { +this._canvas = null; +} + +if(this._canvasBitmapData) { +this._canvasBitmapData = null; +} + +if(this._canvasTexture) { +this._canvasTexture = null; +} + +if(this._canvasBitmap) { +this._canvasBitmap = null; +} + +if(this._oldCanvasBitmap) { +this._oldCanvasBitmap = null; +} + +if(this._timer) { +this._timer.stop(); +this._timer = null; +} + +if(this.parent) { +this.parent.removeChild(this); +} +} +} +``` + + + +# 3.在egret中使用 + +在Main.ts中使用我们刚刚创建的类 + +``` +class Main extends egret.DisplayObjectContainer { + + public constructor() { + super(); + + this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this); + + } + + private onAddToStage(event: egret.Event) { + + let man = new CollectAnimation('html/man/index.html'); + this.addChild(man); + man.start(); + + // setTimeout(() =>{ + // man.stop(); + // man.depose(); + // man = null; + // },3000) + + } +} +``` + +通过start和stop方法开始播放和停止,depose方法删除 + +以上就是在egret中引用HTML5 Canvas的一些尝试,还有别的东西可能要等我慢慢挖掘了。 + +效果->[传送门](https://demo.dengtongyu.com/pages/walkman/) \ No newline at end of file diff --git a/source/_posts/egret粒子系统官方文档的那些坑.md b/source/_posts/egret粒子系统官方文档的那些坑.md new file mode 100644 index 0000000..43d0360 --- /dev/null +++ b/source/_posts/egret粒子系统官方文档的那些坑.md @@ -0,0 +1,74 @@ +--- +title: egret粒子系统官方文档的那些坑 +tags: [] +id: '200' +categories: + - - 分享 +date: 2017-10-20 16:33:15 +--- + +最近体验了一下[egret粒子系统](http://edn.egret.com/cn/article/index/id/178),看了官方文档后,照着文档写,发现各种报错,不知道是原来文档就是错误的,还是egret版本多次迭代后,文档没有及时更新,而且在[egret开发者中心](http://developer.egret.com/)提供的QQ群加了也没有回应,或许是egret官方太忙了,但是不管怎样,这种错误的官方文档对新手很不友好。 + +下面我来说说我在体验[egret粒子系统](http://edn.egret.com/cn/article/index/id/178)踩的一些坑 + +说到egret的粒子系统,egret官方提供了一个制作粒子素材的工具——[Egret Feather](http://developer.egret.com/cn/github/egret-docs/tools/Feather/manual/index.html) + +有兴趣的可以移步到相关的官方文档查看,因为我使用[Egret Feather](http://developer.egret.com/cn/github/egret-docs/tools/Feather/manual/index.html)的时候没有遇到什么问题,所以这里就不做赘述了,大家看官方文档就好了 + +### egret粒子系统官方文档的错误? + +在egret的粒子系统文档中([传送门](http://edn.egret.com/cn/article/index/id/178)),在创建粒子示例的地方是这样的 + +![egret粒子系统创建示例](https://image.dengtongyu.com/blog/2017/10/QQ截图20171020160019.png) + +按照示例的代码在egret 4.0.3版本中,编译就会报错 + +``` +error TS2339: Property 'system' does not exist on type 'Main'. +``` + +'system'这个属性不属于'Main',新人们在这里会懵逼一会儿,但是代码是死的,人是活的,我直接用个变量来保存particle对象嘛。我把代码改一下 + +``` + let texture = RES.getRes("funny"); + let config = RES.getRes("funny_json"); + let funny = new particle.GravityParticleSystem(texture, config); + funny.start(); + this.addChild(funny); +``` + +我用个变量funny来保存particle对象,然后我再编译一下,没有报错,但是刷新浏览器的时候报错了 + +``` +Uncaught TypeError: Cannot read property 'textureWidth' of null +``` + +无法读取纹理的宽度,其值为null。出现这种报错一般就是纹理加载不成功,所以要看看加载素材的地方 + +``` + let texture = RES.getRes("funny"); + let config = RES.getRes("funny_json"); +``` + +上面的纹理加载很明显与egret的素材加载方式有点不一样,不知道官方文档为什么会这样写,所以我改了一下,把纹理的后缀加上 + +``` + let texture = RES.getRes("funny_png"); + let config = RES.getRes("funny_json"); +``` + +编译没有报错,刷新浏览器,粒子效果完美呈现。[demo传送门](https://demo.dengtongyu.com/pages/featherfunuy/) + +![egret粒子系统demo](https://image.dengtongyu.com/blog/2017/10/下载.png) + +### egret粒子系统库的引入,另一个坑? + +egret粒子系统库的引入也是一个小坑,我从[egret第三方库的GitHub](https://github.com/egret-labs/egret-game-library)上下载了particle粒子库,然后放到项目里引入,结果编译时间很久,而且会各种报错,经过一系列的Google 百度后,结果是: + +**第三方库必须放到项目外面!** + +**第三方库必须放到项目外面!** + +**第三方库必须放到项目外面!** + +重要的事情说三遍 \ No newline at end of file diff --git a/source/_posts/es6-下定义变量,let大法好!.md b/source/_posts/es6-下定义变量,let大法好!.md new file mode 100644 index 0000000..6d9dc7d --- /dev/null +++ b/source/_posts/es6-下定义变量,let大法好!.md @@ -0,0 +1,41 @@ +--- +title: ES6 下定义变量,let大法好! +tags: [] +id: '52' +categories: + - - 分享 +date: 2016-06-16 22:37:51 +--- + +  var _声明的变量作用域不是块级的,会扩大变量的作用域,可能造成变量污染。_ let _声明的变量作用域就更精确,离开作用域变量就销毁。_ const _顾名思义就是常量了。_ **变量作用域更加精准** 不用担心变量作用域自动提升,造成上一级或全局变量值被覆盖。 举个栗子: + +```js +let a = 1; +var b = 1; +if (true) { + let a = 2; + var b = 2; +} +console.log(a) // 输出 1 +console.log(b) // 输出 2 +``` + +**变量作用域可控性更好** let 的作用域是根据代码块(enclosing block)来判定的,而 var 的作用域是根据函数块(function block)来判定的。这样的话,如果我们的变量都使用 let/const 来声明,那么以前的立即执行函数就不需要了,我们只要加一个代码块就好了。 举个栗子: + +```js +{ +let a = 1; +} +console.log(a) // 输出 a is not defined +``` + +**Runtime自动检查重复声明的函数并报错** 在同一个作用域内不允许重复声明变量。 举个栗子: + +```js +if (true) { + let a = 1; + let a = 2; +} +``` + +Runtime会报错:Uncaught SyntaxError: Identifier 'a' has already been declared 有了更加清晰的作用域,我们的代码就能够更好被预测,也更好维护。 有了更容易控制的作用域可以让我们减少很多立即执行的函数。 Runtime的自动检查可以避免不必要,甚至是错误的代码声明。 \ No newline at end of file diff --git a/source/_posts/https实践,lets-encrypt-免费通配符-ssl-证书申请.md b/source/_posts/https实践,lets-encrypt-免费通配符-ssl-证书申请.md new file mode 100644 index 0000000..79b480c --- /dev/null +++ b/source/_posts/https实践,lets-encrypt-免费通配符-ssl-证书申请.md @@ -0,0 +1,246 @@ +--- +title: https实践,Let's Encrypt 免费泛域名 SSL 证书申请 +tags: [] +id: '304' +categories: + - - 分享 +date: 2018-07-12 11:26:42 +--- + +![let's-encrypt](https://image.dengtongyu.com/blog/2018/07/lets-encrypt.png) + +2018 年 3 月 14 日,Let’s Encrypt 对外宣布 ACME v2 已正式支持泛域名证书。这就意外味着用户可以在 Let’s Encrypt 上免费申请支持泛域名的 SSL 证书。 + +### 什么是 Let’s Encrypt + +部署 HTTPS 网站的时候需要证书,证书由 CA 机构签发,大部分传统 CA 机构签发证书是需要收费的,这不利于推动 HTTPS 协议的使用。 + +[Let’s Encrypt](https://letsencrypt.org/) 也是一个 CA 机构,但这个 CA 机构是免费的!也就是说签发证书不需要任何费用。 + +[Let’s Encrypt](https://letsencrypt.org/) 是国外一个公共的免费 SSL 项目,由 Linux 基金会托管。由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起,目的就是向网站自动签发和管理免费证书。以便加速互联网由 HTTP 过渡到 HTTPS,目前 Facebook 等大公司开始加入赞助行列。 + +Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被 Mozilla、Google、Microsoft 和 Apple 等主流的浏览器所信任。用户只需要在 Web 服务器证书链中配置交叉签名,浏览器客户端会自动处理好其它的一切,Let’s Encrypt 安装简单,使用非常方便。 + +### 什么是泛域名证书 + +泛域名证书类似 DNS 解析的泛域名概念,泛域名证书就是证书中可以包含一个通配符。主域名签发的泛域名证书可以在所有子域名中使用,比如 demo.domain.com、bbs.domain.com。这样就一张证书可以用于更多的主机了 + +### 如何申请 Let’s Encrypt 泛域名证书 + +Let’s Encrypt 上的证书申请是通过 ACME 协议来完成的。ACME 协议规范化了证书申请、更新、撤销等流程,实现了 Let’s Encrypt CA 自动化操作。解决了传统的 CA 机构是人工手动处理证书申请、证书更新、证书撤销的效率和成本问题。 + +ACME v2 是 ACME 协议的更新版本,泛域名证书只能通过 ACME v2 获得。要使用 ACME v2 协议申请泛域名证书,只需一个支持该协议的客户端就可以了,官方推荐的客户端是 Certbot。 + +#### 安装Certbot + +如果没有下载安装过Certbot,先下载Certbot客户端 + +``` +wget https://dl.eff.org/certbot-auto +``` + +然后把certbot-auto设为可执行权限 + +``` +chmod a+x certbot-auto +``` + +#### 升级Certbot + +如果已经安装了Certbot,查看下自己的Certbot客户端是不是支持 ACME v2 版本,官方介绍 Certbot 0.22.0 版本支持新的协议版本 + +``` +./certbot-auto --version +Upgrading certbot-auto 0.21.1 to 0.25.1... +Replacing certbot-auto... + +./certbot-auto --version +certbot 0.22.0 +``` + +客户在申请 Let’s Encrypt 证书的时候,需要校验域名的所有权,证明操作者有权利为该域名申请证书,目前支持三种验证方式: + +1. dns-01:给域名添加一个 DNS TXT 记录。 +2. http-01:在域名对应的 Web 服务器下放置一个 HTTP well-known URL 资源文件。 +3. tls-sni-01:在域名对应的 Web 服务器下放置一个 HTTPS well-known URL 资源文件。 + +#### 申请泛域名证书 + +申请泛域名证书,只能使用 dns-01 的方式 + +使用 Certbot 客户端申请证书方法比较的简单,输入以下命令: + +``` +./certbot-auto certonly -d domain.com -d *.domain.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory +``` + +_1、把domain换成你自己的域名。_ + +_2、\*.domain.com可作用于所有子域名,但好像不能作用于domain.com,所以加上domain.com这样的裸域名。_ + +#### 相关参数说明 + +1. certonly,表示安装模式,Certbot 有安装模式和验证模式两种类型的插件。 +2. \--manual 表示手动安装插件,Certbot 有很多插件,不同的插件都可以申请证书,用户可以根据需要自行选择 +3. \-d 为那些主机申请证书,如果是通配符,输入 \*.domain.com(可以替换为你自己的域名) +4. \--preferred-challenges dns,使用 DNS 方式校验域名所有权 +5. \--server,Let's Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定。 + +执行完这一步之后,就是命令行的输出,请根据提示输入相应内容: + +``` +Saving debug log to /var/log/letsencrypt/letsencrypt.log +Plugins selected: Authenticator manual, Installer None +Cert is due for renewal, auto-renewing... +Renewing an existing certificate +Performing the following challenges: +dns-01 challenge for xxxxx.com +dns-01 challenge for xxxxx.com + +------------------------------------------------------------------------------- +NOTE: The IP of this machine will be publicly logged as having requested this +certificate. If you're running certbot in manual mode on a machine that is not +your server, please ensure you're okay with that. + +Are you OK with your IP being logged? +------------------------------------------------------------------------------- +(Y)es/(N)o: y +``` + +上述有两个交互式的提示: + +1. 是否同意 Let's Encrypt 协议要求 +2. 询问是否对域名和机器(IP)进行绑定 + +确认同意才能继续。 + +继续查看命令行的输出,非常关键: + +``` +------------------------------------------------------------------------------- +Please deploy a DNS TXT record under the name +_acme-challenge.xxxxx.com with the following value: + +XQOqY8npyso******ovtudA3zMd_C1dh9bjMEkbkKHM + +Before continuing, verify the record is deployed. +------------------------------------------------------------------------------- +Press Enter to Continue +``` + +执行到上图最后一步时,先暂时不要回车。要求配置 DNS TXT 记录,从而校验域名所有权,也就是判断证书申请者是否有域名的所有权。接下来需要按照提示在域名后台添加对应的 DNS TXT 记录。 + +上面输出要求给 \_acme-challenge.XXXXX.com 配置一条 TXT 记录,在没有确认 TXT 记录生效之前不要回车执行。 + +我使用的是阿里云的域名服务器,登录控制台操作如下图: + +![泛域名证书](https://image.dengtongyu.com/blog/2018/07/QQ20180711-181503@2x.png) + +如上图所示,有两条DNS TXT,因为我们申请的时候就有两个域名,domain.com 和 \*.domain.com,所以我们在阿里云的后台添加一条DNS TXT后,我们回到命令行,按回车继续,然后会输出第二条DNS TXT + +``` +------------------------------------------------------------------------------- +Please deploy a DNS TXT record under the name +_acme-challenge.xxxxx.com with the following value: + +XQOqY8npyso******ovtudA3zMd_C1dh9bjMEkbkKHM + +Before continuing, verify the record is deployed. +------------------------------------------------------------------------------- +Press Enter to Continue +``` + +同样,按照上面的步骤在阿里云的后台多加一条DNS TXT解析就好。加完稍等几分钟后,回到命令行,按回车 + +``` +Waiting for verification... +Cleaning up challenges + +IMPORTANT NOTES: + - Congratulations! Your certificate and chain have been saved at: + /etc/letsencrypt/live/dengtongyu.com/fullchain.pem + Your key file has been saved at: + /etc/letsencrypt/live/dengtongyu.com/privkey.pem + Your cert will expire on 2018-XX-XX. To obtain a new or tweaked + version of this certificate in the future, simply run certbot-auto + again. To non-interactively renew *all* of your certificates, run + "certbot-auto renew" + - If you like Certbot, please consider supporting our work by: + + Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate + Donating to EFF: https://eff.org/donate-le +Press Enter to Continue +``` + +看到上面的输出,说明已经生效。 + +你也可以输入以下命令确认 TXT 记录是否生效: + +``` +dig -t txt _acme-challenge.XXXXXX.com @8.8.8.8 + +; <<>> DiG 9.10.6 <<>> -t txt _acme-challenge.XXXXXX.com @8.8.8.8 +;; global options: +cmd +;; Got answer: +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55138 +;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 + +;; OPT PSEUDOSECTION: +; EDNS: version: 0, flags:; udp: 512 +;; QUESTION SECTION: +;_acme-challenge.XXXXXX.com.INTXT + +;; ANSWER SECTION: +_acme-challenge.XXXXXX.com.599 INTXT"bQzqaEADZbE******KvPiltbucW130jaj9PNTkAH3mU" +_acme-challenge.dengtongyu.com.599 INTXT"XQOqY8npyso******ovtudA3zMd_C1dh9bjMEkbkKHM" + +;; Query time: 175 msec +;; SERVER: 8.8.8.8#53(8.8.8.8) +;; WHEN: Thu Jul 12 10:59:20 CST 2018 +;; MSG SIZE rcvd: 171 +``` + +到了这一步后,恭喜您,证书申请成功。 证书和密钥保存在下列目录: + +``` +/etc/letsencrypt/live/xxx.com/ + +├── cert.pem +├── chain.pem +├── fullchain.pem +└── privkey.pem +``` + +然后校验证书信息,输入如下命令: + +``` +openssl x509 -in /etc/letsencrypt/live/xxx.com/cert.pem -noout -text +... +Authority Information Access: + OCSP - URI:http://ocsp.int-x3.letsencrypt.org + CA Issuers - URI:http://cert.int-x3.letsencrypt.org/ + +X509v3 Subject Alternative Name: + DNS:*.xxx.com +... +``` + +可以看到证书包含了 SAN 扩展,该扩展的值就是 \*.xxx.com + +### 在 Nginx 中 配置 Let’s Encrypt 证书 + +Nginx 配置文件片断: + +``` +server { + server_name xxx.com; + listen 443 http2 ssl; + ssl on; + ssl_certificate /etc/letsencrypt/live/XXXXXX.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/XXXXXX.com/privkey.pem; + + location / { + proxy_pass http://127.0.0.1:8080; + } +} +``` \ No newline at end of file diff --git a/source/_posts/navigator-mediadevices-getusermedia调用本地摄像头.md b/source/_posts/navigator-mediadevices-getusermedia调用本地摄像头.md new file mode 100644 index 0000000..c9ab7b9 --- /dev/null +++ b/source/_posts/navigator-mediadevices-getusermedia调用本地摄像头.md @@ -0,0 +1,53 @@ +--- +title: navigator.mediaDevices.getUserMedia调用本地摄像头 +tags: [] +id: '94' +categories: + - - 分享 +date: 2017-04-28 15:20:27 +--- + +MediaDevices.getUserMedia()方法提示用户允许使用一个视频和/或一个音频输入设备,例如相机或屏幕共享和/或麦克风。 如果用户给予许可,就返回一个Promise 对象,MediaStream对象作为此Promise对象的Resolved[成功]状态的回调函数参数,相应的,如果用户拒绝了许可,或者没有媒体可用的情况下,PermissionDeniedError 或者NotFoundError作为此Promise的Rejected[失败]状态的回调函数参数。 _注意,由于用户不会被要求必须作出允许或者拒绝的选择,所以返回的Promise对象可能既不会触发resolve 也不会触发 reject。_ 首先在页面中放置一个video标签,用来播放本地摄像头采集到的视频流 + +``` + + + +``` + +然后在js部分如下 + +```js + +//获取video标签 +var vedio = document.querySelector('#video'); + +//constraints 参数是一个包含了video 和 audio两个成员的MediaStreamConstraints +//对象,用于说明请求的媒体类型。必须至少一个类型或者两个同时可以被指定。 +var constraints = { +audio: true, +video: { + //帧率 +frameRate: { ideal: 10,max: 15,min: 8 } +} +} + +//获取设备(摄像头或者麦克风) +navigator.mediaDevices.getUserMedia({ audio: false, video: true }) +.then(function(mediaStream){ +console.log(mediaStream); +video.src = window.URL.createObjectURL(mediaStream); +video.onloadedmetadata = function(e) { + video.play(); + console.log(e); +}; +}) +.catch(function(error){ +console.log(error); +}); + +``` + +_注意:调取本地视频或音频设备的接口,出于安全的考虑,只能在localhost或者https下使用!_ + +[demo 传送门](https://demo.dengtongyu.com/pages/20170522j7/) \ No newline at end of file diff --git a/source/_posts/react-native-for-ios-下的一个小坑.md b/source/_posts/react-native-for-ios-下的一个小坑.md new file mode 100644 index 0000000..d92532a --- /dev/null +++ b/source/_posts/react-native-for-ios-下的一个小坑.md @@ -0,0 +1,24 @@ +--- +title: react native for ios 下的一个小坑 +tags: [] +id: '84' +categories: + - - 分享 +date: 2016-12-09 18:07:07 +--- + +最近在尝试学习一下react native,然后就按照官网的教程一步步配置环境,一切都很顺利,但是在xcode下run的时候就报错了。 + +```js + +Error: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', +reason: 'bundleURL must be non-nil when not implementing loadSourceForBridge' +``` + +谷歌百度一系列之后,仍然无法解决,然后加了react native中文的官方群提问,有人说是开启了VPN导致,然而我的Mac并没有配置VPN,一切又回到原点。 然而受到这个启发,把之前写web dom时配置的 127.0.0.1 localhost 还原。神奇的事情发生了,Xcode里的项目跑起来了!喜大普奔,然而我也没搞懂这是为什么。 + +```js + +#host文件一定要有这个 +127.0.0.1 localhost +``` \ No newline at end of file diff --git a/source/_posts/vue-cli-代理设置以及打包引入配置.md b/source/_posts/vue-cli-代理设置以及打包引入配置.md new file mode 100644 index 0000000..01eae7b --- /dev/null +++ b/source/_posts/vue-cli-代理设置以及打包引入配置.md @@ -0,0 +1,54 @@ +--- +title: vue CLI 代理设置以及打包引入配置 +tags: [] +id: '173' +categories: + - - 分享 +date: 2017-10-17 15:25:49 +--- + +## 代理设置 + +在用 [vue CLI](https://www.npmjs.com/package/vue-cli) 做开发的时候,很多时候我们需要用到代理请求获取数据,[vue CLI](https://www.npmjs.com/package/vue-cli) 也很方便的为我们提供配置代理的API,打开[vue CLI](https://www.npmjs.com/package/vue-cli)项目的 _/config/index.js_ 文件,找到dev里的proxyTable + +``` + +module.exports = { + //代理设置 + dev: { + env: require('./dev.env'), + port: 8080, + autoOpenBrowser: true, + assetsSubDirectory: 'static', + assetsPublicPath: '/', + proxyTable: { + '/data': { + target: 'http://dengtongyu.com', //代理目标地址 + secure: false, + changeOrigin: true + } + }, + cssSourceMap: false + } +} +``` + +## 打包引入配置 + +我们用[vue CLI](https://www.npmjs.com/package/vue-cli)打包项目的时候默认引入的资源是"/"根目录,如果我们的项目在非根目录下就要重新配置一下了,同样的,打开[vue CLI](https://www.npmjs.com/package/vue-cli)项目的 _/config/index.js_ 文件,找到build里的assetsPublicPath + +``` + +module.exports = { + build: { + env: require('./prod.env'), + index: path.resolve(__dirname, '../dist/index.html'), + assetsRoot: path.resolve(__dirname, '../dist'), + assetsSubDirectory: 'static', + assetsPublicPath: '/pages/myproject/', //配置引入资源的根目录 + productionSourceMap: true, + productionGzip: false, + productionGzipExtensions: ['js', 'css'], + bundleAnalyzerReport: process.env.npm_config_report + } +``` \ No newline at end of file diff --git a/source/_posts/vue-resource-http请求在ios浏览器下的一个小坑.md b/source/_posts/vue-resource-http请求在ios浏览器下的一个小坑.md new file mode 100644 index 0000000..d357007 --- /dev/null +++ b/source/_posts/vue-resource-http请求在ios浏览器下的一个小坑.md @@ -0,0 +1,42 @@ +--- +title: vue-resource http请求在ios浏览器下的一个小坑 +tags: [] +id: '69' +categories: + - - 分享 +date: 2016-07-05 18:41:00 +--- + +```js + +new Vue({ +el: 'body', +ready:function(){ +this.$http.get('url',{ + +}).then(function(json){ +console.log( typeof json.data ) //谷歌返回的是string,ios返回的是object +},function(json){ + +}); +} +}); +``` + +以上代码,在谷歌返回的是string,ios浏览器返回的是object, 所以通过JSON.parse()格式化json.data的时候,在ios浏览器下就报错了 通过使用vue-resource提供的json()方法解决 具体代码如下 + +```js + +new Vue({ +el: 'body', +ready:function(){ +this.$http.get('url',{ + +}).then(function(json){ +console.log( typeof json.json()) +},function(json){ + +}); +} +}); +``` \ No newline at end of file diff --git a/source/_posts/一个星期一早晨感慨.md b/source/_posts/一个星期一早晨感慨.md new file mode 100644 index 0000000..882c8f2 --- /dev/null +++ b/source/_posts/一个星期一早晨感慨.md @@ -0,0 +1,10 @@ +--- +title: 一个星期一早晨感慨 +tags: [] +id: '22' +categories: + - - 生活 +date: 2016-05-30 09:59:06 +--- + +你看那天,看那墙,看那秋海棠,今天还是星期一。 ——加西亚马尔克斯《百年孤独》 为什么星期五离星期一这么近,星期一离星期五却这么远!这不科学! \ No newline at end of file diff --git a/source/_posts/人应该要学会生活.md b/source/_posts/人应该要学会生活.md new file mode 100644 index 0000000..80ea8cd --- /dev/null +++ b/source/_posts/人应该要学会生活.md @@ -0,0 +1,10 @@ +--- +title: 人应该要学会生活 +tags: [] +id: '20' +categories: + - - 生活 +date: 2016-05-26 23:27:30 +--- + +卖力,不卖命,卖艺,不卖身。 熬通宵这种玩意儿,最最摧残身体健康,有碍养生,过了青春期,万万不可行。 在这狗一般的生涯里,唯一的指望,就是太阳落山。 噫,又是一天,快快乐乐,躺下约会周公,几乎有种释放解脱涅槃的感觉。 ——亦舒《此一时也彼一时也》 \ No newline at end of file diff --git a/source/_posts/你也可以成为鉴黄师,nsfwjs鉴黄库初探.md b/source/_posts/你也可以成为鉴黄师,nsfwjs鉴黄库初探.md new file mode 100644 index 0000000..61ff62a --- /dev/null +++ b/source/_posts/你也可以成为鉴黄师,nsfwjs鉴黄库初探.md @@ -0,0 +1,100 @@ +--- +title: 你也可以成为鉴黄师,nsfwjs鉴黄库初探 +tags: [] +id: '361' +categories: + + + - 分享 + +date: 2020-06-20 12:11:46 +--- + +近日,我偶然在Github发现了一个鉴定不雅内容的 js 库 NSFW JS,出于好奇,于是就研究了一下,并且写了一个demo。下面就跟大家分享一下。 + +首先,NSFW JS 给一张图片鉴定的结果可能会得到如下 5 个分类结果。 + +1. 绘画(Drawing)——无害的艺术,或艺术绘画; +2. 变态(Hentai)——色情艺术,不适合大多数工作环境; +3. 中立(Neutral)——一般,无害的内容; +4. 色情(Porn)——不雅的内容和行为,通常涉及生殖器; +5. 性感(Sexy)——不合时宜的挑衅内容。 + +最终结果输出一个数组,每个分类都会输出一个概率,按概率从高到低排,所有分类的概率总和是1 + +``` +[ + { + "className": "Sexy", + "probability": 0.35769057273864746 + }, + { + "className": "Neutral", + "probability": 0.3514401912689209 + }, + { + "className": "Porn", + "probability": 0.2888406813144684 + }, + { + "className": "Hentai", + "probability": 0.0012577027082443237 + }, + { + "className": "Drawing", + "probability": 0.0007708172197453678 + } +] +``` + + + +### 安装 + +NSFW JS是由TensorFlow.js作为对等依赖项提供支持。 所以我们要先安装TensorFlow.js。 + +``` +yarn add @tensorflow/tfjs +yarn add nsfwjs +// or +npm i @tensorflow/tfjs +npm i nsfwjs +``` + + + +### 加载模型 + +然后我们需要加载模型。这个“模型”是用来评估图像的函数。可以在[nsfw\_model](https://github.com/gantman/nsfw_model)下载它们。这些文件是 4MB 大小的分片,便于在客户端进行缓存。因为我在vue项目中使用,所以把它们放在 /public/model/ 文件夹中。 + +![QQ截图20200620114436](https://image.dengtongyu.com/blog/2020/06/QQ截图20200620114436.png) + + + +### 使用 + +``` +// 导入模块 +import * as nsfwjs from "nsfwjs"; +// 图片dom节点 +const img = document.getElementById('img') +// 载入模型 +nsfwjs.load().then(model => { + // 鉴定图片 + model.classify(img).then(predictions => { + console.log("Predictions: ", predictions); + }); +}); +``` + + +在demo中测试的结果很惊喜,特意选取了一些干扰性的图片,也能正确识别 + +![微信图片_20200620120800](https://image.dengtongyu.com/blog/2020/06/微信图片_20200620120800.png) + + + +![微信图片_20200620120806](https://image.dengtongyu.com/blog/2020/06/微信图片_20200620120806.png) + + + +![微信图片_20200620120811](https://image.dengtongyu.com/blog/2020/06/微信图片_20200620120811.png) 最后,这里附上我写的demo,[传送门](https://demo.dengtongyu.com/pages/nsfwtool/) diff --git a/source/_posts/使用acme-sh-申请-lets-encrypt-泛域名ssl证书.md b/source/_posts/使用acme-sh-申请-lets-encrypt-泛域名ssl证书.md new file mode 100644 index 0000000..216194d --- /dev/null +++ b/source/_posts/使用acme-sh-申请-lets-encrypt-泛域名ssl证书.md @@ -0,0 +1,102 @@ +--- +title: 使用acme.sh 申请 Let's Encrypt 泛域名SSL证书 +tags: [] +id: '333' +categories: + - - 分享 +date: 2018-07-23 18:25:45 +--- + +之前用ertbot方式获取Let's Encrypt泛域名证书,必须手动在添加DNS TXT 记录,也不能自动续签,使用起来颇为不便。 + +今天发现了github上的一个开源工具[acme.sh](https://github.com/Neilpang/acme.sh),是一个开源的Let’s Encrypt SSL申请工具,操作和流程比官方的申请方式简化很多,使用起来非常方便,推荐大家使用。欢迎大家给该工具打星。 + +### 安装acme.sh + +``` +curl https://get.acme.sh sh +``` + +执行完代码后,acme.sh会被自动安装到~/.acme.sh/中 + +### 设置DNS API + +目前泛域名证书仅支持DNS验证,acme.sh通过DNS提供商的API自动完成操作,因此需要先设置DNS API,以阿里云为例。 + +先前往阿里云后台获取App\_Key跟App\_Secret,在【用户信息管理】-【安全信息管理】创建SecretKey [传送门](https://ak-console.aliyun.com/#/accesskey),然后执行以下脚本 + +``` +# 替换成从阿里云后台获取的密钥 +export Ali_Key="LTA*********uV6" +export Ali_Secret="QKmsZgo*************8Htr6" +``` + +这个临时环境变量只需配置这一次,当成功申请证书后,API 信息会被自动保存在~/.acme.sh/account.conf,下次你使用acme.sh的时候会被自动使用 + +### 获取证书 + +``` +# 换成自己的域名 +acme.sh --issue --dns dns_ali -d dengtongyu.com -d *.dengtongyu.com +``` + +如果acme.sh,提示命令没找到,那就请再执行以下指令: + +``` +source ~/.bashrc +acme.sh --issue --dns dns_ali -d dengtongyu.com -d *.dengtongyu.com +``` + +或者先cd到acme.sh目录下,再执行文件 + +``` +cd ~/.acme.sh +./acme.sh --issue --dns dns_ali -d dengtongyu.com -d *.dengtongyu.com +``` + +\--dns dns\_ali参数表示使用 阿里云 的 API,如果是其他解析商,请[点这里](https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md)查看对应的参数 + +执行完代码后,会有120秒等待DNS生效,所以至少需要等待两分钟,等倒数结束后看到Cert success就是成功了 + +![使用acme.sh 申请 Let's Encrypt 泛域名SSL证书 ](https://image.dengtongyu.com/blog/2018/07/tdcdjdcxsov.png) + +### 拷贝证书 + +前面证书生成以后, 接下来需要把证书 copy 到真正需要用它的地方. + +注意, 默认生成的证书都放在安装目录下: ~/.acme.sh/, 请不要直接使用此目录下的文件, 例如: 不要直接让 nginx/apache 的配置文件使用这下面的文件. 这里面的文件都是内部使用, 而且目录结构可能会变化. + +正确的使用方法是使用 --installcert 命令,并指定目标位置, 然后证书文件会被copy到相应的位置: + +``` +acme.sh --installcert -d dengtongyu.com \ + --key-file /etc/nginx/ssl/dengtongyu.key \ + --fullchain-file /etc/nginx/ssl/fullchain.cer \ + --reloadcmd "service nginx force-reload" +``` + +(一个小提醒, 这里用的是 service nginx force-reload, 不是 service nginx reload, 据测试, reload 并不会重新加载证书, 所以用的 force-reload) + +### 在 Nginx 中 配置 Let’s Encrypt 证书 + +Nginx 配置文件片断: + +``` +server { + server_name xxx.com; + listen 443 http2 ssl; + ssl on; + ssl_certificate /etc/nginx/ssl/fullchain.cer; + ssl_certificate_key /etc/nginx/ssl/dengtongyu.key; + + location / { + proxy_pass http://127.0.0.1:8080; + } +} +``` + +### 证书续期 + +Let's Encrypt 证书的有效期为三个月,acme.sh会每隔60天自动帮你续期,你无需任何操作 + +最后,更详细等内容请看[官方说明](https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E) \ No newline at end of file diff --git a/source/_posts/吾日三省吾身.md b/source/_posts/吾日三省吾身.md new file mode 100644 index 0000000..d372fcd --- /dev/null +++ b/source/_posts/吾日三省吾身.md @@ -0,0 +1,10 @@ +--- +title: 吾日三省吾身 +tags: [] +id: '61' +categories: + - - 生活 +date: 2016-06-23 23:13:16 +--- + +当你的才华还撑不起你的野心时,那你就应该静下心来学习。 当你的能力还驾驭不了你的目标时,那你就应该沉下心来历练。 我绝对算不上好人,也决非坏到无药可救, 我把在这个时期自我调整的过程,称为人生, 我把自我调整过程中的感受,称为命运。 \ No newline at end of file diff --git a/source/_posts/咸鱼需要冷藏.md b/source/_posts/咸鱼需要冷藏.md new file mode 100644 index 0000000..a469da1 --- /dev/null +++ b/source/_posts/咸鱼需要冷藏.md @@ -0,0 +1,10 @@ +--- +title: 咸鱼需要冷藏 +tags: [] +id: '29' +categories: + - - 生活 +date: 2016-06-02 21:22:10 +--- + +6月,广州! 白天大地在蒸腾,只需在太阳底下10秒,就能感受到阳光满满的恶意。 夜晚空气弥漫着热浪,连呼吸都能灼伤你五脏六腑。 这种闷热的环境,让我忘了自己几乎就是条咸鱼。 咸鱼就应该待在咸鱼该待的地方,于是我开了空调…… \ No newline at end of file diff --git a/source/_posts/奇妙能力歌.md b/source/_posts/奇妙能力歌.md new file mode 100644 index 0000000..e72de5f --- /dev/null +++ b/source/_posts/奇妙能力歌.md @@ -0,0 +1,10 @@ +--- +title: 奇妙能力歌 +tags: [] +id: '8' +categories: + - - 生活 +date: 2016-05-24 22:59:20 +--- + +\[audio mp3="https://image.dengtongyu.com/blog/2016/05/奇妙能力歌.mp3"\]\[/audio\] 我想要更好更圆的月亮 想要未知的疯狂 想要声色的张扬 我想要你 \ No newline at end of file diff --git a/source/_posts/如果有来生.md b/source/_posts/如果有来生.md new file mode 100644 index 0000000..23e4a86 --- /dev/null +++ b/source/_posts/如果有来生.md @@ -0,0 +1,10 @@ +--- +title: 如果有来生 +tags: [] +id: '24' +categories: + - - 生活 +date: 2016-06-01 09:31:05 +--- + +![小新](https://image.dengtongyu.com/blog/2016/05/u23298692062573679482fm21gp0.jpg) 如果有来生,我要当条被子,不是躺在床上就是在晒太阳! ——野原新之助 \ No newline at end of file diff --git a/source/_posts/字符html创建dom节点.md b/source/_posts/字符html创建dom节点.md new file mode 100644 index 0000000..40e341a --- /dev/null +++ b/source/_posts/字符html创建dom节点.md @@ -0,0 +1,24 @@ +--- +title: 字符html创建DOM节点 +tags: [] +id: '76' +categories: + - - 分享 +date: 2016-08-25 09:58:05 +--- + +jQuery的创建节点的方式非常方便,$('
') 只要这样就可以创建一个div的节点。 我们也可以通过JavaScript简单实现一下这种方式。 + +```js + +function createDom(html) { + var tempDom = document.createElement('div'); + tempDom.innerHTML = html; + return tempDom.childNodes; +}; +var div = createDom('
新创建的div
')[0]; +document.getElementsByTagName('body').appendChild(div); + +``` + +不过值得注意的是,childNodes返回的是一个DOM节点的列表,记得处理一下 \ No newline at end of file diff --git a/source/_posts/小悟.md b/source/_posts/小悟.md new file mode 100644 index 0000000..e4166b5 --- /dev/null +++ b/source/_posts/小悟.md @@ -0,0 +1,10 @@ +--- +title: 小悟 +tags: [] +id: '110' +categories: + - - 生活 +date: 2017-08-01 09:12:01 +--- + +人生除了生和死,其他都是小事。 世界上没有无缘无故的爱,也没有无缘无故的恨, 一切的偶然其实都是必然, 一切的必然看起来可以躲过,其实都避免不了, 把握好当下的每一次偶然, 你才有机会改变未来的每一次必然,珍惜眼前! \ No newline at end of file diff --git a/source/_posts/忙碌的工作日,潮流的朋友圈.md b/source/_posts/忙碌的工作日,潮流的朋友圈.md new file mode 100644 index 0000000..cdb13fd --- /dev/null +++ b/source/_posts/忙碌的工作日,潮流的朋友圈.md @@ -0,0 +1,10 @@ +--- +title: 忙碌的工作日,潮流的朋友圈 +tags: [] +id: '14' +categories: + - - 生活 +date: 2016-05-25 23:17:50 +--- + +最近很忙,穷忙、瞎忙··· 朋友圈一如既往的热闹,今天是2016年5月25日,杨绛女士逝世。 朋友圈迎来了一场悼念杨绛女士的潮流。我相信那些人跟我一样不曾读过她的作品或者了解过她事迹,但不妨碍那些人加入这场悼念的盛会,纷纷在朋友圈表达了自己的悲痛和惋惜之情。 托朋友圈的福,我在今天终于认识了杨绛女士。惭愧,对于贡献如此之多的人,我现在才知道她。所以我辈有什么资格评价杨绛女士,多读点杨女士书吧。 至于朋友圈的蜡烛还是你们点吧,我继续生活的苟且··· \ No newline at end of file diff --git a/source/_posts/我脑中的橡皮擦.md b/source/_posts/我脑中的橡皮擦.md new file mode 100644 index 0000000..ad8e69b --- /dev/null +++ b/source/_posts/我脑中的橡皮擦.md @@ -0,0 +1,10 @@ +--- +title: 我脑中的橡皮擦 +tags: [] +id: '34' +categories: + - - 生活 +date: 2016-06-12 21:52:59 +--- + +![无脸男](https://image.dengtongyu.com/blog/2016/06/20150121124317_k2JGJ.jpg) 最近感觉自己容易忘记一些东西,重要的、琐碎的、又或者无关紧要的。 它犹如一块橡皮擦,偷偷的抹掉你一个字,一个词,甚至一句话,而你却浑然不觉。 待你回顾这些篇章的时候,你才发现记忆的空白。 于是你努力回想,企图找回只字片语,但看到的只是一片模糊的掠影。 \ No newline at end of file diff --git a/source/_posts/条件注释判断浏览器.md b/source/_posts/条件注释判断浏览器.md new file mode 100644 index 0000000..37916bb --- /dev/null +++ b/source/_posts/条件注释判断浏览器.md @@ -0,0 +1,69 @@ +--- +title: 条件注释判断浏览器 +tags: [] +id: '38' +categories: + - - 分享 +date: 2016-06-14 10:03:23 +--- + +项目 + +范例 + +说明 + +! + +\[if !IE\] + +_The NOT operator. This is placed immediately in front of the?feature,?operator, or?subexpression?to reverse the Boolean meaning of the expression._ **NOT运算符。这是摆立即在前面的_功能_,_操作员_,或_子表达式_扭转布尔表达式的意义。** + +lt + +\[if lt IE 5.5\] + +_The less-than operator. Returns true if the first argument is less than the second argument._ **小于运算符。如果第一个参数小于第二个参数,则返回true。** + +lte + +\[if lte IE 6\] + +_The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument._ **小于或等于运算。如果第一个参数是小于或等于第二个参数,则返回true。** + +gt + +\[if gt IE 5\] + +_The greater-than operator. Returns true if the first argument is greater than the second argument._ **大于运算符。如果第一个参数大于第二个参数,则返回true。** + +gte + +\[if gte IE 7\] + +_The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument._ **大于或等于运算。如果第一个参数是大于或等于第二个参数,则返回true。** + +( ) + +\[if !(IE 7)\] + +_Subexpression operators. Used in conjunction with boolean operators to create more complex expressions._ **子表达式运营商。在与布尔运算符用于创建更复杂的表达式。** + +& + +\[if (gt IE 5)&(lt IE 7)\] + +_The AND operator. Returns true if all subexpressions evaluate to true_ **AND运算符。如果所有的子表达式计算结果为true,返回true** + +\[if (IE 6)(IE 7)\] + +_The OR operator. Returns true if any of the subexpressions evaluates to true._ **OR运算符。返回true,如果子表达式计算结果为true。** + +  举个栗子 + +``` + + + + +``` \ No newline at end of file diff --git a/source/_posts/浅尝-html-5-input-新属性.md b/source/_posts/浅尝-html-5-input-新属性.md new file mode 100644 index 0000000..3814311 --- /dev/null +++ b/source/_posts/浅尝-html-5-input-新属性.md @@ -0,0 +1,242 @@ +--- +title: 浅尝 HTML 5 input 新属性 +tags: [] +id: '276' +categories: + - - 分享 +date: 2018-02-07 18:16:11 +--- + +在HTML 5中,input增加了许多新的特性,本篇文章整理了一些新增的,并且谷歌浏览器也已经支持的属性。 这些新增的属性,很大程度的丰富了表单控件,很多原来需要js去验证的表单,现在只要一个属性就可以了,大大提高了生产效率。 #color::-webkit-input-placeholder { /\* WebKit, Blink, Edge \*/ color:#f00; } #color::-moz-placeholder { /\* Mozilla Firefox 19+ \*/ color:#f00; } #color:-ms-input-placeholder { /\* Internet Explorer 10-11 \*/ color:#f00; } dl input { border: 1px solid #ccc; } + +## required 属性 + +required属性规定必需在提交表单之前填写输入字段。 + +``` + + + +``` + + + +## list 属性 + +属性引用 datalist 元素,其中包含 input 元素的预定义选项。 + +``` + + + + +``` + + + +## maxlength 属性 + +属性规定 input 元素中允许的最大字符数。 + +``` + + + +``` + +## max min 属性 + +属性规定 input 元素的最大和最小值。 + +``` + + + + + + + +``` + +## multiple 属性 + +可接受多个值的文件上传字段 + +``` + + + +``` + + + +## pattern 属性 + +pattern 属性规定用于验证 input 元素的值的正则表达式。 + +``` + + + +``` + + + +## step 属性 + +step 属性规定 input 元素的合法数字间隔。 + +``` + + + +``` + + + +## src alt 属性规定 + +input按钮用图片展示 + +``` + + + +``` + +## placeholder 属性 + +placeholder 属性规定可描述输入 input 字段预期值的简短的提示信息 。 + +``` + + + + + + + +``` + + + +## type 属性 + +在HTML5中,type有了更多丰富的控件类型让我们使用 + +### color 拾色器 + +``` + + + +``` + +### date 日期控件 + +``` + + + +``` + +### month 年月控件 + +``` + + + +``` + +### time 时间控件 + +``` + + + +``` + +### week 周控件 + +``` + + + +``` + +### datetime-local 带时间的日期控件 + +``` + + + +``` + +### email 定义用于 e-mail 地址的字段(当提交表单时会自动对 email 字段的值进行验证) + +``` + + + +``` + + + +### number 数字 + +``` + + + +``` + +### password 密码 + +``` + + + +``` + +### range 范围取值 + +``` + + + +``` + +### tel 电话 + +``` + + + +``` + +### url 链接 + +``` + + + +``` + + + +# [页面demo](https://demo.dengtongyu.com/pages/input/) \ No newline at end of file diff --git a/source/_posts/演唱会随机选座解题思路.md b/source/_posts/演唱会随机选座解题思路.md new file mode 100644 index 0000000..33046e3 --- /dev/null +++ b/source/_posts/演唱会随机选座解题思路.md @@ -0,0 +1,122 @@ +--- +title: 演唱会随机选座解题思路 +tags: [] +id: '346' +categories: + - - 分享 +date: 2018-12-16 14:07:46 +--- + +最近遇到一个演唱会随机选座的问题,这个问题细想起来确实有趣,正好周末有空,所以我想花点时间分享一下我的解题思路。 + +演唱会会场分A、B、C、D四个区域,每个区域第一排50个座位,向后每排递增2个座位,最后一排100个座位。一个人可以买1~5张票,系统要随机分配座位,但必须连号,问要怎么分配? + +![情景图](https://image.dengtongyu.com/blog/2018/12/情景图.jpg) + +因为买票的张数不确定性,如果直接随机分配,则有可能出现很多单个位置空出的情况,降低了座位的有效利用率。如果直接顺序出票,那就出现人群扎堆的情况。所以我们要在均衡分布与高利用率之间取一个平衡点。 + +首先定义座位信息 + +``` +let item = { + index: 0, //下标(索引) + group: 0, //分组 + groupName: 'A', //分组名称 + number: 3, //座位编号 + row: 9, //第几排 + disable:false //该座位是否可选 +}; +``` + +把座位和排数用数组保存起来 + +``` +let front = 2; //前排座位数 +let back = 10; //后排座位数 +let .gap = 2; //每行座位数差 +let group = 4; //分组数 +let lines = (this.back - this.front) / this.gap; //每个分组有多少排 + +let index = 0; //下标(索引) +for (let g = 0; g < this.group; g++) { + for (let line = this.lines; line >= 0; line--) { + let rowArray = []; + for (let seat = 0; seat < (this.back - this.gap * (this.lines - line)); seat++) { + let item = { + index:index++, + group: g, + groupName: this.groupName(g), //分组名称 + number: seat, + row: line, + disable:false + }; + rowArray.push(item); + seats.push(item); + //console.log(item) + } + rows.push(rowArray); + }; +} +``` + +把符合条件的座位排数筛选出来(即有足够连号的空位的排数) + +``` +suitableRows(length) {//length为买票的张数 + let haveSeatRows = []; + this.rows.forEach((list) => { + //可选的座位数组 + let haveSeatList = list.filter((item) => { + return !item.disable; + }); + if(haveSeatList.length <= 0) return false; + + //有N张连号的排数 + if(this.selectPlace(haveSeatList,length).length > 0) { + haveSeatRows.push(haveSeatList); + } + }); + if(haveSeatRows.length > 0) { + return haveSeatRows; + }else{ + return false; + } + } +``` + +最后把从筛选出来的排数中选出座位 + +``` +let index = Math.floor(Math.random() * haveSeats.length); +let places = this.selectPlace(haveSeats[index], length); + selectPlace(list, length) { + let places = []; + + for(let i = 0;i < list.length - 1;i++) { + let end = i + length; + if(end > list.length) break; + + let selects = list.slice(i, end); + let flag = false; + selects.forEach((val, k) => { + if(k + 1 <= selects.length - 1) { + if(val.number + 1 == selects[k + 1].number) { + flag = true; + }else{ + flag = false; + } + } + }); + + if(flag) { + places = selects; + break; + } + } + return places; + } +``` + +总结起来,基本思路就是把符合条件的行数收集起来,再从所有行数中随机选出一行,顺序出票,从而在均衡分布与高利用率之间取一个平衡点。 + +[demon实例,点击查看!](https://demo.dengtongyu.com/pages/20181112o4/) \ No newline at end of file diff --git a/source/_posts/用nodeexpress搭建本地https服务.md b/source/_posts/用nodeexpress搭建本地https服务.md new file mode 100644 index 0000000..2b6a140 --- /dev/null +++ b/source/_posts/用nodeexpress搭建本地https服务.md @@ -0,0 +1,69 @@ +--- +title: 用Node+express搭建本地https服务 +tags: [] +id: '90' +categories: + - - 分享 +date: 2017-01-24 15:21:05 +--- + +1.安装node环境(自行谷歌百度,不赘述) 2.安装express(自行谷歌百度,不赘述) 3.打开命令行,利用openssl生成证书文件 + +```js + +//生成私钥key文件 +openssl genrsa 1024 > /keys/private.pem + +//通过私钥文件生成CSR证书签名 +openssl req -new -key /keys/private.pem -out /keys/csr.pem + +//通过私钥文件和CSR证书签名生成证书文件 +openssl x509 -req -days 365 -in /keys/csr.pem -signkey /keys/private.pem -out /keys/file.crt +``` + +4.编写server文件 + +```js + +var app = require('express')(); +var fs = require('fs'); +var http = require('http'); +var https = require('https'); + +//引入私钥、证书 +var privateKey = fs.readFileSync('./keys/private.pem', 'utf8'); +var certificate = fs.readFileSync('./keys/file.crt', 'utf8'); +var credentials = {key: privateKey, cert: certificate}; + +//创建服务,设置端口号 +var httpServer = http.createServer(app); +var httpsServer = https.createServer(credentials, app); +var PORT = 18080; +var SSLPORT = 18081; + +//监听端口号 +httpServer.listen(PORT, function() { + console.log('HTTP Server is running on: http://localhost:%s', PORT); +}); +httpsServer.listen(SSLPORT, function() { + console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT); +}); + +//路由 +app.get('/', function(req, res) { + if(req.protocol === 'https') { + res.status(200).send('这是一个经过加密的https请求!'); + } + else { + res.status(200).send('这是一个普通的http请求!'); + } +}); + +``` + +5.启动服务 + +```js + +node server.js +``` \ No newline at end of file diff --git a/source/_posts/第一条写些什么呢?.md b/source/_posts/第一条写些什么呢?.md new file mode 100644 index 0000000..6af0aa6 --- /dev/null +++ b/source/_posts/第一条写些什么呢?.md @@ -0,0 +1,10 @@ +--- +title: 第一条写些什么呢? +tags: [] +id: '4' +categories: + - - 生活 +date: 2016-05-24 18:30:10 +--- + +![无脸男](https://image.dengtongyu.com/blog/2016/05/015986554b84ec000001bf7267e627.jpg) 以后的生活会更精彩吧···嗯嗯··· \ No newline at end of file diff --git a/source/_posts/首页.md b/source/_posts/首页.md new file mode 100644 index 0000000..74971f2 --- /dev/null +++ b/source/_posts/首页.md @@ -0,0 +1,9 @@ +--- +title: 首页 +tags: [] +id: '18' +categories: + - - uncategorized +comments: false +date: 2016-05-26 16:57:35 +--- diff --git a/source/images/v2-1497fa6a5de2596909dc2af7a6233e37_1440w.jpg b/source/images/v2-1497fa6a5de2596909dc2af7a6233e37_1440w.jpg new file mode 100644 index 0000000000000000000000000000000000000000..558978e2782cbeebfbce76286df283a469497b62 GIT binary patch literal 143823 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 CqW6RV literal 0 HcmV?d00001 diff --git a/source/images/v2-498e45cff82e401ae43378031b8fc740_1440w.jpg b/source/images/v2-498e45cff82e401ae43378031b8fc740_1440w.jpg new file mode 100644 index 0000000000000000000000000000000000000000..07f1ad6cdbf66a85e6c2bbc33f8ea454cd8c4ad0 GIT binary patch literal 116891 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%0Dde=dx+vW0H0*(>zuma)|@kwp;#Q@~Gu+9y<`x z4bXnN_0|0qFu$3M0Qfru!POcn4S)*mgU>gg#My3!_XIiyDk#SJk9L_W%4ST7{8gw` zc~H3HA=&)tmS9#xBxgz2VOi*#c?})fT3`N4KC+gROu-TMBT4Q_{%g?&JHxi}be<8$ zg}xyQx+x^)nEYabv#l>*UatPvH>ui@d_72EUd=CttvaEmY;a=di#J4ZztJtenu_!&Rf=Bl*fzG>ihQtDcK)CVSB3)M$> zy#S3a(N|qbo-b?HnGq@cabo-`kF=JcH(m0TiE0Z4lXTRm_t5#ZA+lTm3;+c!+V;3hc2U@qFK9ORST5{qeeN6UjtD>|%LU054-KE59;fa`d zulB2<(k$wIwKT=$`;RA4JJdF8wlV1R0Mzk@iYj5ckAfAYbNvVLU0rERHQ~SgllfLr zyqggGjVJ|xf=eNo;wFt-L(@(C=`C0s27pnrTLD}Bt+pV+CMX>?`(oZ(M+Aw+xf?M| z`WpbDq%COxBO+z{hdrLpzmQ=`W78QXcwjybVq5Xq1PSlklnHWscUDGN4tPEw02c_yfZ7>+@I>NXa zg&!yS8h$<;F21Aca;Rc<=3jmxxIsd=Hd<*68!hoa8efh{BAlgCDAxA3LJ_%XzdyO5 zxqfmM-Fx5Xex*}B;vWFIL^Y_kl@t@V&voDB&Rw0AB}yvvsK`t~WTFt*v+Y5)b*1W{ zIDv9^E9mz%Bm={S`4aOaA_#?3&4|k<%cGFUFo*LlNjYaAy=>cprIYO~&PI29e$JDg zZCBBKQz<%Tm<~Nc=iOJ)OI`nC>*jj3zW%w?pjk_}4l6U4R;HGlZ*#U#Gwf(1qdnlk zk_GlaJvZ|41$&0}Vw5FQS%T}x6fPaE92Z!St-$d!Eh))70dy6e$XULE+7ZrwcFbvh z9=4^4PLDq27^W^Q`W>~G^d6fm5%Q4jgbxi0V@yyb;n}>PJrr~z$b=Al* z^iY9KszYXqef~?sv22yML0!vh_LcS3^@tq~yU|j$Q`CThKWrCC;c#+6+V7IuK^DxH zs#IItkR+S;b`Jhk5a#%zl3L3HfoD9|7Ao|Cv$V&Pf0cfA+gIq`PhSd8ldsoSMgo~5 z+s&w2!NWt>04g!>NL%%67!itHh7He$VszI6%R#=XNphz?KWc`>Cm{rn0D9wNgYYxu=Ml?wY&=ZJ@W5Nmc7rXyrj38@bhF z!Ifv;{BZx5%UGNf$z0$aMbLP=6-=OZ`s=@kSS=VUmVtqP#~3#RbbLGw48I+30Py7@ zfceZGfCQ>D;)Be^Jp?|1eu|{Z5P53pyPtWxF>$I0^?A|S->_Cm1NdlgDzy0S|27ID z=BC-e1iI@IV?A!i^R0j&e1U%tK!Z(D`adh2I$rc|0Dwwk_dwKfWXk^Yxq#8^NL>!A z5I<@XA@EVgMN`Em&jEO67}G4b`(&zi*PTUzM13Bq@H!!@$k*?|K)PqkoNP-q53=-U zt-+vC#UJKBs-`Btv`!bhifod6I@3(rHM8*}7580Gs&*`S?p<+UlAgyah1XmxpBrO5 z_dVM$|2#MYtFdK@Dn!Q|XX@t}R(_>ysx3sg`0`aZEmbx~xmwY`3c8z6K0c+hJa5=@ z!jnGx?%URywW4^W!><%ropy$Zo5E@aPm(eP-G&l_1pDum6MYU*mUqgnN)ORiJKw8W zG8d~~7$^}$6OK4hy>@QP@t!^;zaO8!rN>=8TFg499pAQMc#kmQVYG7-GI7Km7~6 zzvAk!y*a1&BwI$nD_Q?7h|JtKtJQZ=wSP6_P;pJ^Wgg;fm5(krQOvc-YNfXK!?o^B zj^{#llWbhJ_FVpQ%DN~7iJp$Ue@8}eLgA|{Cn)G2sm!iv>4Tzky>*H|BXyNvd=yQ*hPMO2zWi zj+i*90yS;Ao@ll7$lvhDdNgxnwrTw{m@PPpq99NZ?r4u2-BBQ`R z*83*f2-Ry$NVPdzu2OaBux(SB>U>)8uAZy(NMaHn-)eZ@;9gEug(`B#w#nPao339= zb|Gi=D*X!Npr^AJr7(v(!zR8*nmDio^A4`i{2Uc*al$D7lQ0CXB`9c{5>@C`p*?pNn)?s%Q*Bf(@v^FJr(UVd z6{JoQ&T>lG8yYnkt<1Pjy=2D_3FqCqSIRhMnr^xzT)JMcQ@m{Y1+sh=poJ*fND@t~ zA7CrsDWopg@Ww33RJk2};eW>$7^1NMcc6)ZtP23VaJ&S6IRH5?A&}E z{S{P<>(@iI+FwudOyCV%ti}WzCIQb$7*=}i>3j+MC{y0FA$$smvRM?4?D%M`mb49Zm8cFQ9t7loV>sMM=wE7 z&`Qzlg^#Iha2B;{IW5R2!M&X}gfS`?K?xTp7ZND9%-hH+dk_ ziT#PAZvMY&JovmKmi(YyANiGvxwLZ&42@(v){9JEH)^a(A4zfU3CyqKZ%w6B7HhjD zR?1P>#?+ycdx}SnC0Kv$cpm+pv>7uxyop46nT}G2Sh-j^br_htG<|C;?XJ!c-{DF( zT^TapTRKQWwm+VUVj$D5S;!Mpa0s%#^fQr)ZDNyLn80!h5@@CP^383w$HIKWGD`0` zJ*h76I)_~!x+gmh4FoesUsztmV?$!2%AUsMu+xiu%7;e0FnX`aORxNinC$nD9wI_@ z{Cu*KP##VhW@CAEE@v19=W`k}X@YJdUK~t1dS-1_(g)_4ukVHRQ!o_EE2OUU{wyxf zaE}ccQr}mC8JuFECyg4$+>PY}3dBHG;n@|NbnSQ*D~VK|M&r7!zGm6^w+1l~-O;VS ztHF5Zjf#bYz0e_jOQ?oOhX-?tW#>2iY$(#f6)Db_I$3 zk8Z5Hl0%d9+;jwXOm!!08|Mo3Z2YN@MV~H8;lXS*$5zGPChGIr;q4YJ_8dhnh%Xv4 zi_Gogq+m7Qm~-67l}zk^2wT_HKAN@_O^9#1WGKqZnz|#I(e^|lkKu%pyf@y|_a|7- zMN+$#gR2=+mxI+%_1sIXxKdK$vXo4Uu#&and>iC6%Fj}>W7fPW&iwwvgnb_dXEHeq z_3yKai7qzryDEP)EpVUdTX`zt4qIB-`72n^TKcaz7+flN_bgH?r@+NS7#4ab&6r0i zmHUP@rlHQ>qitDi&^^V)LPEC$e?Nk}{JX(PJO^jub~>{WYs2_lvW*oJ^$_YfcWiU4 zT;f5;eJG;i-Gh9aBb!bVR>_%QrQD?|QzK4IJE%3`X6jsN2bzP*eWqE0~M2?;XmtHEHXea4I3 z0wzA!+y!X*bBqEKrXJUvMk$4ouAyv2zK8_NbW>P>Tqy@QPia@xBf#KySCac$ zS#CqBl<-zo&W@5J2YfP=RC|O?M>C_MAipa+FEBSS<8`Ln1oEiPU;2lY~$FXIkbp z9xg1M$SlD;>7f!H?eAbFf&ckS;K7^5Dul1K!ORlW-R{{~f+;MuT}sM}+5q{$#hS?3 zYA);CcDJ%Az*9IN!X*IaA1)>7H72`f8ZpP$>He65%j$$};^*6;n@NzhJ8ob=Y|rE> zz^PJe7F9`3a~@~cw6>8>m!}ddNN-+8M&~kE$m0j?wn+d1m=XzyECHH~mR-$2Y1+G= zaEV@n4KV2mQ+Z*`Jw)o^5rI7zv?1EyYXddJTmRn|Zd@V)SpUn{_u?j3$coE)J}Z2# ztR?OFT%~J%L0UOV=gkc+tFP@HC5+$C%of!upf4h2_cEnEA zI8H9Po{nm7v0w3-o`QfWh6UU;)hJk*CQ_60p<11vS|2%oftSaU-&%|}r?KG0yYC5A z8s4X-Yd&61nIzOT$%WK8Zgt+%#hLYbCS{}SNIl(Jq>~HLh{j^a?aQ=R6j7=bUCU)yjf1+jimC@W%O~2}R<~&RqKXj-njIlRxsGu`QW_ zR-)Tw9TW(bdf?xK+s%KK{=X+MPOyxj)qrKv4`byZ+G7?n>A$7`7_Q=3d&KEVVECw3 znmq7-yj9?>ZjFs;Pc{fuFqW(t2I~vpg%JTn19V~qLV2bC-V*>p7@)i=EhIFd7(v7k z&}R*RT9xeh7qG&ggpM9C3j1%n|1<~Ag*HV%b35Ei&r?H=ucBDB!8GYCAYQV}i&J#8 zx%2F~?pR!Z3CAkw)qeFFdD|9?31&Np6=4|6pVoQEGTW7Mfe7<`;VIW00NXlsYxNWq z;6=XjVC9hP*=Sj^Ik&>u%_|mbJ-rDQ-%8dI)55Sz zNyoFR2QFFn_T|F)PUiI8I4ER$UB)=9QiiTw{{fJ{{V1e|-3O_^!!u*7RVRbcU%ste z&F&6fc?D3;H`cCZC2Jh);_gLPuCUl<(ikhLH{~UBq$Q(KrA8jsQ*TC*G6^giAvU8y zt5N3PKvbl;ud58i`xJ}TnraJerhIyAFBck%Gwx_|s#MfbfzB{4S{YUz1$P*XEu$Xy zBH=SGGHS_~>X+%TQ$^uKDv3Kn(ImxCDn~qpyvM4n?@m{<9Nc_K6ozaguV~(vq%PUu z|J9{X-8+SJDv+#ur}hKQ^}gZd;*CJ{DgV5plIr*+jAIezbaS(LJX>t1RN+-OUXYj>e~Eajx;O;UZ|H)&B-pAhF=M!Lr3}C7)xyFcTfndF-Hdx9dtqIZ7#iVQr%zl5nVoBrYgQ_~lSAdyO5x{`B zzJS)fCzZV=TKoSA2oMQil0hKnvn@V@vp={9+&e0nO+;g3l9&XpQYF_Pzmt2Odqh2I zVN#VeUTJ9RaQ~;T)LP2P^s(^zb>{3`VjcT*9r+h~84(@J*4TTs+0V#`ENINW2EsI? znOyNdL9u1Q>71CD49qEs<2Al3O3ck`NJdB15u?rvGb999v1Bp6e!>E0`J`v+&puZf zeO8FIws?L2SvgMs%v|uBDVm>=)?&u=WRdq$xj6In4OJWG-)Q7ur>MFraG}VLW?XFz zLi5s|O*WQ7`KRQV>W`Fa7nh3`>>k8FuXYB(9uGa1CId!5m|vmbp3QU~nG6q)01@MP z|7*RZ=IY@EVgH|facXJ?4UJ2j^s3RJFawp~v(myY0n6qfYR@$=Q|Qbz$bEr&y%d&S z!d1{PURQLER=N85hcL>5m^3$TJ4nG@P6cf%JXd_OoNYI%BZY}-6|s6HnIee6xTVZ2 z!@IV{S^Ih--RZlu^xtQHr^M?+JHK#yhycgqb$k$Kv^>oeTeiXK?Dvi57TOz!dQ{=H&x1N6s&8berxOIC;YH5vNseBQ`H z=;TalrtqYY|7vXR&_|7YpD|vz{+{Dak|=|TN&w%~v(lBGcNXY6(-?7&S0Tqz6$~?t z!XW3>@t2zf9|RfmmH|icoM8XPz-aQpo2#Yp{)GXXOScdI0P-c!@o}9UrDDOH9g{5n zfKxf933p06)u|)2=Y_z$SiQn3Yr?`$}{7xcZ;xLGaV+K~ONn^YR z0PTOD*x$znZa}~YGcdXsScppFi9X_OLke1~(*M2c|K4M8v(b|M z9hB4$_is8&B8&HiD1K_W`gjDq@{B%OnWR26)%KHVTT5I;P^5XYXcQ6)D|o6<)}18U zmAsisb+{7QakQy(Gl6@U6qXL32ZSc>9^t1AKA5DRwQRM{ShT3cJlWUr3S zQvLXy^u=_P4C-z@X;WT$AVmA`8j1z9v=EcgJq$5Q_<OeYL=JbcEbW&iL`i&37uD1Aa|f!xi2EtG~hEzD@weWixHRgHc)R$PaNp z2Zy&uJ2=4;m9TSf7O9D`fDStU53Q#c@D2&N$dbf~wo}wBB7)yvWA|ErdycPdM(@5M ztAR(wQ+6jUviOTk=U-a+%Sn2Sbwn(~L2%(*_?KI?9CDkWVF@s4K}VgVTlEE#wI0~I zfo|6H#0K`TH4b#1{-!_gUZo`W-lg`~D)G*u%2YPHbyBXD-Tu6vnq%H!?e|Jy#YYMq zMf?L6jw0SL*N&@J)E&HD-j@j`RLW`yubq}-VXmkWmJT6n4|U8PmIv&K+i@8sW3Tjl5X5iQYiQri9>uYCR- z&0H~{Ccq?pYic`d7KwG0W*;g3(~Ar0uQ6*N?C_SS5zh|;|4Orc7i%5u)j^Tv1+I~z zQq(o(?NK%WR00T(q zF}~hk2B1BG|7X91dAhQ76oN^-Fs6%{_0BpX+`e88ct%S6!1>KsW2k=M|3B$Ksqfe)gHq~kGISCpJ`)F&39_jcToV+{!d3u%}eQ+;zXx>Qg4 z^Olj{Bl&nfxtW9BXDINE!*D1;Rr(N}u43}`9kG35#JfrXrH~2c zfNZ}t$I9P3&%?LI8kZH%bF%~_1fx=s)W?$B7udy(6b1x24vIwit>)Z8ZSr%SYW5~- zV-shFLH7KHA5G@9GZBRY{$(f2-T|AY9zIk*qlifCePw=!(xl)L;r7)qN`C=oJzOK8 z7boq*E&}};O>dW;&?H|-mn95SR4DGAq~i55VOnxv3S&23DEC%fNS;@@9P`&O)_*NH zFQ?LgPI~N1mDagHw~@|rUnvz`d3eV0=5m7m#<&SNw0nk(ypmbVY1cg%b{Db#Q&>8s zZQ^3wl=X4zVtxwGOHE-w?#l2ZYY|E>S^V%4jJ&VC?fTGY3KsknHwtxTGEAKHsd)&% zMKj=R0X{S7S!)c24ut@e$EAER%*9Stgd#C&PCXuOtEm+gKhG~vo9C7mvl&1A0ePmr~>$p?)EfLE4iPTwo|$m2^bDw{AMz<>yBa|15jSQsfaKAl? zNn=}+t+*Dlp%-GSnO|!~=5CY4y{ICCgzkq9-Lcib6nMSMUoe#W<<$Mg=14N{-DRgg zRdJE?%sBscm(HlwNxgoDQ`JGt1Xnj$o8o>NI%Y1v*YK!xbjgwI`^1|?Umu%6sd|Bm zuQqFEAJv486Q3pg|=wGGLst(&8nOk%$q{u=2rh2Wc#$ zMk2^)hJ<c3 zk>1DrgGC&hsvg$3V-ahv@oh?LKI;_wNwICZrZyA1nhDKTGGgQTS6^e2CaRXy9@)XF z8qgc*f|;)@R85OZ8rH6&KQGqSZ`Rh2d*9IQD>k75B&geGrS{pTFDtpMDxs21NX`$7 z^UMp4){%b@#kQpjZl#y3Cb5y*%{x>bs^mgjo@W;r^>41+tf}wqUJ=9%;gvN)DrazzBNm=IPHy8xy{`p^hiJO@&NHYHAHR`O}6b1_P=KOX;>_$?2Bya-8}n%dbl^uwPg((W{FE zf)+k28z#YR{ui`S@e^qvc<^5#7AJrt=_@M+Hhzqq4%8*&snwGvWn)zS`~vWVda`iq z5&+n?^1RtJG`Cl@>{`}A!a0RFxv?;7fNBVU=?uL15`}@*sgZskxPTXTFEY*&^6fu2 z2W={h766(8{RHTefDzgMoc`ZCZgA9LSOS4yegm#HObqDmarxHr=xG83Ga{~Cp;R+a zQf@Jw`tJVFqrHTK;`E8@IKOPJk6cN5zx}jOho+A#ZtgAJ!P&nnF|A$9A-Z_p8Sr3j z#gAp%ngwY%ml%yHYe~x_Lu7^vu;xGl*%%cs2*B@_eoKRRA` z{T90?dc|I`-iC_5d(_m1QB6w41~y2oLH?=h>jw^tCXdI24OMmPbcmn)(JiV*>74gu z(0{%>*^CzAI@=THX@SmMZy9NL-0+lYpJphOPK+D{-5@iU1{ub@v=mVRg*w`srD0M& zIR_EDgC>&8eqzD=$!-A*nhj$og8Rvh8l@|ZYTfVbI((3%=!52og6%4Vj1)HWIi1(C zTYXbnt(OOt(hosn4eH`F43<+xpg>vm!r*goDoS>6iYqe$xJ54n^_-fU?V( zh1cWvHxF9WOA?SU2H@uhUmi3PpYeUnLqXhut4l=OkwQ(FKlBll3^F|4WWq7o4)W+E_Y&y!!W{;!Mb(4F{1$dk*p)9bT^^%9|h~kQRV@KWG{O;V zcC6~z4hpVXNZdt+0|}`gzX7O1 zpJ^|Es8QlUPhAz#w+O9Mc~7%pmlNI7s~Nw!(Re@I%c*Wb-)Q_E7&2Z;zpuh^5a6HxvGL~?n z!G*QTj0yaDn;N}p6nVu;9ZGhU?|wT5NiFioF1WJSNTKcG_4nsc5E57;_plEvtCmaf zjz5&zKrP)%EP;EplTWO&*^CqpS+ka}MlExG@0(@$b1bEl2cl**m~5u=b?LN98qaD~|qi3j#>st!4rWFAErU{$Lg;t&WQg0=xmV0I#n* zokgie6@YOYH@^j)fW&Q>>kLDo5jZsYQ8+kw)0P02Cg6)hF9WT%^pn1A^shi~T_d;xReh7>?nTzyz%gub zKQI~gK} z&9+2lb{O|d`I&G#NB`?UtQXqK2@ojw7Nv2&q+rA|NCQu$!Dn6fNKzU4N@LNiEjQh& zUQ({BiQf2^?dYN-1WD0oylP}(&0nmS<~N;DlBxBh`C%Z|-&@h@)fB>tAft5`J9ab(l>ylCudbn(@B zt>siU^upI-waw`(N1w6zpD=2V5+!`MwFOSEc)QlOs*@va%P)(mCq@UsLh1<95%MeJ zebK29jtqFnqN#o%N%*n0-XEo@9_j?AQce$wnJLc+gbBK+7AYcL<-WZ1%YBF|zfYsN zeu8Vu)K&m#g04shKPvxRb9nDnW|BuPyCLaxU*Z?;7Flm&`9SWvgaV0{j-BCN;oT?i zQphnmF9~Sn?;2v(k`d~ERG7xx(7xl$!5R&p5KXb=IOuzDXWUEfM<&an9O-6VaH(z9 zCHS}Q`dA}}&#mMSTT5FGQ>_9Vtns8i`WDrCN-alg>0EpW0ezVnjDO-{9!~3y6}o$% znr&3BMN9iH@4x?HAV*+$=|G`gRsSJTByVcKL+&>`wOt>k>)4p+H8obkW-uAOpFvhr zdG^GS_rmHL>MD;~b*MeZ3~g{)x+d(*xXMSL6joY&T)tMiK~9}%bvcquGNMfC>Qwr+ z@IwdgUMK`;M;WnGo895e3b4yJ?5xc2(b-h;5Ovj5TNxRb)y8=Co-gRDnI-Khgy&O1 zE14E1nMBX0iy&xb$6)8vf8CSbxBw?EW~~pw7o#w9z45PKFfhV;668LyDEnJs1c5m; zz$Dn8An(I;RsedV-yU}{nB~8~p3^-J3_iyJuukdFK&dlKlz{Yat~c0J{XZE!SkfR9 z!R?hn0Psay`k8chHzbbdR!avPfnxS|3#t`?kho7@0N?>;=bVB=+YGiJY}IYtWQSaT zA@`Sj&Y-GBh!sl@j7Q(0F-}r18)ibg-%wc?^6SByL+7%PqzUwCrUZ90ZO^IPx3gF6 z$>a_heijC&#{(Ld1_yRNE<4x<;+^GGhE-RSYG%7$aG$L0wdCwRw)$#EwxY~>lpfOI zm77U<2dg$hMCwJ_%?GLAcQJw6tnG^h8M4Q7$1!9AEH(|8`85uji)>#10BElpeesx$ zQ_r0%@f_KP-qE5Bsq9973Xhe>&7;-fI9X2D{w{p-{lM2F(NG>b-WJTeBsecDzXV&_ zx0ZpfB0*TcA-C)8;_u4s#*?s@w(XOI>L7M3Wyo{xsB3QC6hU4Tn3P$j72B#g36yS4 zl2an9$Jv;X6;Fv%RL<$W@KxwuE{k+FeM9EGX|%8*x#;a1bSgU%Z@%X&D<;-aV3)Xn zEbI%g(eO=Zq^YM`Z@SmRRe(h_)JfEQG!E%lfTxjQL${n!)l$;TZKubV$}UY(7>Zn%-2?l z0Er#ajDE{p66V^6_VMh(6DxLc|3d+a zCPn8$s&620-)7X>^3O+|oi1J?EPCq^aZ2~BC~|ZqPDEa=viaK4YiH{$eO2)$MX^Yv zq`&os9*EvAFLFK}svh=WixjcuB#d889`KaxYWtoX!H9{iF~~7TaU^BV8F<8bXWu&HtW!NF z56zR~%XL*bgkJj)FF$&WJq*GWoaBxwUC^Ls?y!Rty%a-OR7(UV27k3>YM4q(1 z?~`E4%5jiSt>hTIyxk#plg9(0-P)v}-TUu-rKz2<0b*%D`d#1)EZsn6NF31f45$Ia z+dvB#7O=ei?*Gn1x5r8}Uu1q~L|}r4RP|jA8V+sZQikfaiXQ$@BDW8^IU6BqITP4%Vp`qYf39xUPo7K_Pmc=xcp66_In} zV4{^vv0coJ-AtiQ2?Il;@Ugmy{ONwiMI>g74swTmb)9l#+Csza8FHlP$xO1I(@>_c z_NB@?bW_5@%?CZ;oe%20XwiQF*~?4^>W@2?r`4dd6&^5>PQ?V%+7AfZL5wcUAe4Pp z{{e=_F4+6XlPR^lXLh5Ssco*Kt1s-Xd=BH=tZx1RK_pRn+duX)Ukde%2~ z$z%R)mu$5TSE0G)4AD}#NHcwXrqI>vOT&T<=SFNzvLB@dd8p^tQVl}_U!3828P0#4 zSQY;PH2oaexIT=sm9ck$0aB3|WQqFd@h+FGPZTm|5Qk$A|h3^-3oExiF1-E$^AU@znb~mnGaUUH^Vq^F2RXe@C z8d7`k;HJ#2kKyT?v+_rXSIt3To?^)|Be_x3pIM#4o>Io=B-XH*em_S&$)E z;*eZcD%ne4x<&|IQw^PG=?~XL%1`BA8q=v))y3$d1_Ybz3Zx*zwY6nY*;13kc5jnR zBvj`G7qv<$;F3#-$~O(D;rK}9j-}+`n;=W-*fYCMRi5Eha!&!2?a^Zrj={06i@Ge` z#Zu}TYmIakJN^>>$PeWwk(rtPHr59`UI&rY)9*VFwpHYf1+}Apn2m=6{G-N`SKeB# z`{;nVf*=~7%ol8FuseeS`Nm4~+=7?a+T8N%Dd&o@Gzq3Kqdc)pYb0ghbloG0KQ%Eb zy?gD<5f7)aRYSMQd*?o4DX@qC=)=r`c5rFY5D;z$ZRm{$nqNF}6DPn8eDH-Za6!HY zp$?J0C5?R~4*+m`_1kZPVtxZNq6q-)N!%6y0BHjuLGR;0OHo@I%$xpl+XDPG6fH!A zx6OGBdoIX6x4M>Uu0SCs04?V74a3>ym%UuHzKz#}hiqbxqR9&Nz7hzY>9FCar#Z~gz5RNFiE?{pHeq+Bc^>wBBdU3h(=R|cthE}&%h8C4jr~Y+j+^<9H@M|Jl zUt=Y>?ecP=6Nv7kVs-6w6=V4iu-Fz*dBMX+KcM)m?@p@jJ40SMI>XrD*mp6H2Q5gz z!za~DasB#2@j5=^8>5MeV{lOy{e;}Txbw_M5j8o=i)nW}3Z~Q}&sd7rHO@hEPqkfo zN?ajPtcd|`O!on_;gD@AI-no_q)i}Ni1Q|;k0oe}iV@a0SLCJGmRIbNsi$M58F_Rl zw2_Wo>T++~>1_A%81L}8Y7Y2t(2~hH8+C8tPWXPjqwq>*1|n1kM-06O+T#hQx8<0F zOhzTHMm3V${Y$L{X%RiV8-thN3phOj;ZW&bEKF<+8qowW28-LP3{eNZ23iQ_Jf2nX z4q;*lUh#i=26wF#YJc)T*7nJBt@#Y?L)8)Qp7YeR>ZoHX_6gR#t`EoDOXp6NrnQa@ zUoZPm+wY#Xkz3!{jF?qHrk0zQ)FgKqn7CTj#d}QMeY=-Qh{^ z>Uj%Z!&h8%vmNcr3np`pCd%1Q?By!TEUTjp2^3ZvG802#$U1>#9M|Zd zFI#EL-fIZ<>z6OS=IxIqeDsp;jRme5Ev;D%)(bnegB38%PQ5;6v+>qG2{U8J|FdQ#lJw6X zDM1ewdbo&RR1Rg?DVL*1e0~HXalBLg<)AY8tT}WwOu2fzWA*O)B!dkH5Kb57$rj%^ zOY*$zQQO>4RU7*S!VYK*&ME_ALu<8WdRo7ssYxDpg; z>Bf}ex@>c8S&gYr)Xaqx-_{eB3uza|xMjI;`wjFsi9u{~d43bh;@~3dK73VCQ=`_X z*gbW_bF>IaWnY?-7L{{iitE+a_C!8MRS4Y%Dj==(r$PrqYW)}NOk}O94>g1JHPu*h z&Sy1=(95YT=aL&Is>I8x42vQi8$Oj@BgPKsCR?YCizf$5*POrVr=`T5vomTak}UW_~JCh;zl`Hq}-?7G(I@4P+CPzdC;md4c# zeCCKzXo7vJ1Yw-e0FW2hbfEHx zBZdKBG7xS*WHoL9XH+o8gAF|Y;iC3%(}*p1V!X1i?rl}YWzQeb?>W)@yz4Bub4Cqw zBW_&4HuI<~->~)a7_myd>o2}^^K_!-6y%jATEbh3GQ5;XH$`uBoOETCx{U8$NHijU zsFBnJ$5`nOJwHhm3_M6rXg1Ujc(mO}vgVbAC(c^jMV_|eRz1A4(lq87<5Pa!eQ}ZE zdN1KHQ&UW|Lt$#&kXc|Px-I+^C~ z$2%rB=CI8Vs_}MC*ih$)jo4{OKY#^vnR81CpT(VD*^NsD%Lm+`x-M8@{I>fH;+JE( z2PQRILx*yvPuBeT?c%!H5z7bS)*yhN&?}RR!WqsTbtj2hm#Z0p9uN3Gz=a%a|3<#t+gP?tb!(b|opGVZ z@!f4E?TwBH)7L$ZoJoO?LS({DiZMlqxs~cs;qo8$YTAjal#4$d^X0CW>W+P1QEM!k zkdM}ws_7aC!}d5m4M?>BYURLia?emR=G zi9Lq)W25jU`k?go@N-Ky7RD~E=Eqt>eKKqa*fjudtR8s+BEkgR+vPMP;(e&Ww;WX+ z)*cx`eOD(u8eSChSY-N24rx)7I&mR@TcmM>yVCSt2pleQ8=%j&(w84Px1w$EY(v~a-}ZKBsS?}x8%$|y*&Eb zo3fV^46DS~s(jvhjyaqRQ~bMRqg%G3jX&NPY8qBgs`YSgUqvpJhR=MU{FUz}=0KG; z!1ks&@(i&y_~4=Ny4G^B;f~(HiLU$X$z#;zxAXI6t??wwgBT|gtmWNHj#?y}G2s&z zEjRPz*FTo$-M4*6R8(BWPx#UzBb*0S9IC9y)9Wps64J-R*j`)lpFmlP>w=ZtYRM8% zJr;~C1m-6=PRTeN-h_mWAIF_OjS%>LD*d7cc_fy|N41LaxjM-xb{i7=wYV>FI=tiP zn1?-cI|TT|6JljzlyDNUMT@9=n5b}|b$1}7bje%QA=kbr_E5Sdr;x@j2W?R2hI z@p{pEp_SM4*^b$x%9IBmw)?|M!t}48#qib7>k|FEvgyZ|LdoMD%iklD@cKW&eB+c` zCtgd=u%X)^UK6HX zGnupQW=1G01uMzU4^E;gy)!QlgEt2HP;tJ$?>dy^2=#EeBI89D^;^?D@;l4sefx5D z;jG0<_OR+kwTi0<@gi1~>^gJRD9Xl#{6wH&W-1zuAQP^*`M@B8V((a`V5xokiduj1 z0cB00v_?)rXJ+M_s%wkYg5=!hCbilYwUqdeVU8GvB}*Ef7lb*61q$Hz2hk0e1mjT*w_TdF!b< zi8(hwM@R4(2lMV7^}orTk7|ejY0AhztQHXG0wh2sB>K3kekbQFdx8=Nza>C-QHQtlfQf5o?tj(v6;M%a-~Xcz5fKBW zC6sO?h7KPJ2qWDM4m~ssDIo$X3?M^EgTyd&cRXnrnjwdf7-Hyd-~al4-~U;Qb6Kp# z8o2kKefHV=6W4hKiwj$RC8pX2Wjv{bGJdU1%9$6AJu~dM`cH-v;&sO8qJujwFgJmj zaq~Mgzqd7;!jBnVM}jZu*rS-HunQ%6Ewe9oXF6c=dw_%A@jQ2AS&#=Coon>@$pusS z2i9NrWr>zf^uXRAv~ILS4>+ciO*)(0u_TVQ{h?c{AU zOLkC*oyvmNphG3xmhEa_W5SlSRm6?$ZJ!GFLV|Re983S)B!H7IoB~ez%awQ_DT{`9 z7u+!Y3yNu1lytbphfa^=i zUx<@{zvt{t$nznZ=-~ukZNVHR8TYFUe8+D}`I=R*ns{qs0~)Tg4xj)cWc~&1L233E zZ)9zIS9@ZlqGg(Sed50QEa#Tgvv*Bz&UBs_*Dryu$^QkdZ}p84 zCLT36&ZDk*>W*aA5;!%1^f!k_JE9W`7Dt21h-z2lD`61xZVa1 z!0lN?KS9(LG}Nqrk^o>3lY%U|wIC8R0zyRVG=KL49UVibX4V$-G{o_P|3-lhQIhlrplU?rW{;R_f1rQYQq7V@Hhy#Q)-V6WWzeHhQ!wRHJ|(BC_B+<0@aQ=g;Mha#u|O?iLJ&nu(AJf$RVWnU|~|l zXQ*d%c{$Ca&7S?LB%1VzOQFR6;hcYJ#;ETuOlwt1W#V1khQ4&kfblg^`F;-e`JC2f zJS<%J6SO@-y-*PHp!N%g@X-U-!%x#PKgbbPQvyVN^vM*dgg3Lbe-&lR=HNEa< znGRP+X)~_AVNlW_m!kakSV%sBotW>To>ijcR~rwV&1>~GBpu(li6!@mOq%G;`l>I9 zRupGJmt&jINFLo|&Ce4T$vXZnm2Xa$oTmp5dwAE=(lQj38)PnN@*|mrRFkb+*B;p- zR||RvWugqZEe$2CzxRJAn9wV>oGObQl#CAW^QC&@gf>45dTL&i=$BGSUxl5FZBSEh zaCbn2dvngG(JB_jDB8JL4pt~B)u}e;IHV*gx~`(X;o80zstMS*byvlpE5Sb&F5c*S za-*i84z^^hxu{sqblP4RCBsDF&Q<40>w}OHvz;ESZn$=+vEH#j6AnVhnDC zTrm;Dswy{+g+qN>I1K70csJ*#C-dMi@a|+?N}BmEz;h`~VHd+8n!M`$LW7vrFX=%#1>x0SFOqI$2^!!2bxR2J z=8uZkvp+hycR+U@QxE}lV!+1W#atGN1`&W4e%=qP-mn+1fZ62n-yy#! zUR6yeIHSf$em85;vt3xW-}b*q$S2Y*euzbyR%)uN=MSyVdTC5eQc3I@UbE~*IMida+B z(P&Q+AO+d`W{c4Jo;a21!vP=S6aynOH41r*(HlFBI(f5 z)&j{}mvt2ObZXE72dZQC)~%GaYspOUWdXYCCNXe6PHp{}zY20SI)GZwR5FO6O}!SU zuRUPi8AVrGlfNkvke}x-Kg$Sb&$(cVs~M(0N0tOxzuz$8@=TC4ITROvrc;jfNnbcm z(z>jvPHNyDi9_IS_SEGEyoSsfugYN6*dkN6VXEP<1LwX4US&^R0bf=1D^6fcK)Gie7%5}Y`&F|w&6%o|$FR>dF= z4UJpQTKr*suWVhV63Dkd8UpZj&X@m{kAdkEgg8N3fm=(f1JQdB~OM_MM>?-0PI zH)pO1wLbO6efSWlUuRCbfAjf)9oBP42pPr=TZr2dTTlfA{}73SQHYlxs=5Uz`OZZr zjhy3`JW3~Hn&|Nw<}Cu|fNeIu&(E)NQgF4|^gwp_V{zcHV~$7hWaO#m(^;l2mP6Sh zv>D7OA>g%ML;4`zHd)O@{MhVm`|jnQW)s@GKtEw{LUmos1z_q~U-~g=M@F~}O7yi7 zx|}L6Q!3M1Rvp`ot)?V6dpG8dkcRCW3iqHq@YPN_mr}ZiPO`es5$+YWLQv5u=lls8 zyi?*pt$T<0bNgYEH6Q=WXVw(i-}5s)hd!%;tPv$aMs)Leq*mG4d5{YKp9yGrwX|4LCQ~EPVMXkv$XsjAIF)UKR<&Ryn75m>+ zQe@v1*0Wa~t7j83!8%Lo6VAQLwUJ;hy@-gpqi;1HfoJM0G(5)i?SE+6u9;QEr6?zxFSqQ;^+7Ox?9iBzv1X9eWiF;Va}VNyEEyoQ`7Zgsc)CVT$X*trrNY_2wx*UFB(iF{zEt;7KqJVN>1X6YbpkV;C;YP3DExT)0 zL5cvgb#uH)SJ;YqXigJ%8=ztY*RYu(WI;#2`zMVgQ0X zR>K1H?CFMZeXmCD5P4+MH_C6KAZjAVYK33_2*aQk*$SZhztdDJq0+)q6xlOb@~TARKL ztxLv`*;{3o>}?ZB*=Dm?zE0c3E>u2L(zZAgX*zT9x{HYt&L~#I1CjOTqm@B-o1Lf| zGFEh_85bQy|JXf=7<0Xf*FJmRjFcu5HTXFO&3T93E|0aYq;Z8X+5-dk*Jx^%N^DEK~-7h6p}JK z3vu89_~&QfIQ9?;TwT7Z-YGKt|JhF05kX;8E#D#0`!T|5Mvbh#Hm6!lK1tmwd-Y5$CL9H!HT+8LW&NNUr( zp;kv1s=-|+p-u&)L$3Mh&Yz{O{n-uF)Y7c?Pu z^Qd^kL@v*cf|7x`KdM@)zRb^DY$9pARD31!7rn$16Zuwh{S<#j`n}!wD(+0tsvFG{ zQx^?72DSnzCrMLKMX@jSfrR|JMJNkE* zTpLSKmzoqnGB)ADz21@RS|n`mK%3Gs=7vW_eI7li7s`*=1*dzVX3wMl1ufQ>@ZBJT z++`sHNfL;8&yM>EzD$qKMHj=0xh3PS^ol%h^5(Iv+;JBd&i)R{tO%3xT3Lw|+lc+8 zh^M2+65XX$n(sZ-x#wkpB;~gf{f7pj@o_l9>wI*%=Hb(9J|2a5*cKcbK0X_A6xjM1 zZ=5nw>P(oM$EL$l$};kln;V25+3U3!CG2vml=#J@z*!G*Jib3q#Ov1?W&Azj0wy(K zjCuCTJC$Gs%jU`>ODKnFb=f_*1VOsFv|vbG%IhVbppx*kf7pFIskQQbqL=Br&EmIT z=IIYFzhg`K_hIpiqJ}T?1pMFE)SMzC`&~SEk9hZ@XRHh2x+Pg2I-7kOb8=Yf0;ipc zh$cbdfNQeTkiGN3qyw6~^0pJ`@>}k!g5a#n#{~!?GqQ`Skx9@X3tu@*HJP{k5j33x zI9tmR`BhmPs;FwC4j?YEIK_}`RYj?bHbLjKBMd>TgFGZ+BMQ#3JsxmHrK~8i;W}Bk zE~ii_Eakz*zF@9RHDJtQ6Kn9Uhb5UUaX)x^?MLMTwU?WIDM6Yq=XwC93unYB(Cs@Y zdNq)IVh=a`De)C~D-jY$kN9Slfmin+vX0ZRx*=KUe237~mUQBCFonz;#P|x!$aYPA zI1&2e5jxbZv$I6gWqleU2-9Y`fSI;QpnVCv$Dz=&?=!V^D;aZQ-por*YxpK z&4+6>$9tu$nSWW(?I>BX?Th6cUbpJb$aVG&QH?AFN0u}q*@==xoodD-S0XxqgcuMszG!meEtBwx+o zp*nTEVQx?DSz3}`iMl&JTG|u4IPg1YKZpt@%}`J@NKDYFim_K{ZvSy;cVoU}j*yh2 zYfn#~;?FF$+B@ zZGfghw}Jt}lNJb6fBX6Lw$v>RlE+jp>E3X?3VU$NpGZDG^A%aQN0hk4kcuFLuk|bC zWoF8UpaYfVyb0%LBWs&u#wHVy^OtlzOx&ryOi!AfqDoP2wjJuT*c|FR`n&m8nINo7 zY0drqB<~ZH(QRrqsgg zMCRs3YjU{jC@lf6K>)tTnp7mq(3P2cCtiRtv)!xo_nOvflwV9DG7#2u9UlA7EQ(e| zGKRt7q!exYvOH^!OKE)_0FEVf-!!g7FASEQcjap~`2~^9n!sj1&B)LAf4%J8pQsL$ zUg7e9T^4)tNt!x2)}@+N0%fH)BgZ>W7N_m?bey=H64baPJ}m0_a;^)c5-n~{LIsbH zW$w2RQI0`rmDKfh$F<S9 z8|R}mlVw=FBz46{3nqJ8h3hI?&7wZnE(;r>s8R%B9*(#aK?4Y%v;9zc_j;Mz-UIFB zR+`3f2W9OdwqbeHu8wh6M(={3=L25rDlNiJ#7Ws*@xnTC*Xtdy$WqCs))n85#0L{h zZmT*|oNQ>E<9QIH$G#Y?fm>_l-Ba!zBL{5G!h@?C+02ovu&B3Y8hLI`;zMC?Q1`m< zB4_WKtNsOP@3hxxsanF7+zsA97^G-f!d?-P1poK8-g^7rg@_c`ab&bR&4k9!h2_&v zt{aLV^Vu%cdwQ8x(XE2ZQF39PDwl~UePjZ-a!_MF`BuRn@c3%;mf- z_QEKaFbRP5{E%p~9QU-evXrOD3g1haDyUoq4Am zX(gx?exOBFXL$uXa~*w9(B--DKDNS_S$*EvnK(c4BYj>&iaPDv2LVrC&a>MhiV@bO z|2X*Xnl9X^9N@AkYJZYTRD`pMoOQ1zP76XDk$H-ThXek}ko(y&?#wT>gqSJ*^#6nu zBS4*$-@ecceTa4JI|h%()D~R}63mqou$~4T36gQ=`0MB{VG}RGA~{?7w(J;ZUI8BK zLyjW}MUTYG*p@o6Cs}|%OYqQ)M3K&#k11J^4lYqn`)~AMuOk>7=@-lrSu#v3cH#I4SKzUB};6(bvh|^Dvu$_ zJBKgB-i}75ei*k!Bcy@onz*MREDNd)}?a(w@0%hnKOn3kG2Nof+&c z6hCeJw@Si zpv3^d0Es}~fdxbS3PkmjnAi{l7)ZqbSwM=P$ZoyVqP+D|1N89Mt(WAlZp-w)x&?Y= zAqx1~e^gM2YoAMhJ87Opj$%uyJQQj-{cFSTjNw2vlf-qW8x_FX@Kk3heOD8 zFvAC>&v!T4EXUVrVbrm1;egoyu*)A(b{XoV5hhd9l`$zE0mer*zXg^fW*4eF3JD2p zQW0a$f1X4TFk=%0g&uYAVELF_$XvlBYrn-$lPJP8Ls zXMP2RjyIr{%$6lR!YIEQ<7%RV4E>mLHwwl=!o-0JGSYzceOCN?B*Y3S+`RzE^EUav zY_}xuYt0)nfH?Il##M1iHd9vTG${)R*7E7q&V-FDUwz=vp24B@(D*xXea80sQ|c+p znzg8_iiLN+ib6x`&UPyN)hmg$ygAX~M);U>zdWPQBJqK|CwARJy3g|%uyu+RO`B}V zs-2q+f^i~H#50?6)=EbhD^jG(=LY(&c2cA$UG|bRuV#QjqG$AivEmnFmHE3O^uB1F zwq$r5zrPU@hr?mSVfY($FE<=?%}l^xZsROPpWgnZ^U>Q3eoM+2C+EfHOiWPE$b#gM zk9i&M+G5b(jKZH!V5U&z>ei~lLXCP9-8bZJigfZ?C8lrsd0qsBy^j}M2U#0P|az!k%-eK0N;x1eiSx?Gdr&-8=nM6 zz&Tw@0Ey6kV~9(2+d|-{t=fv7{>qVUmk%1tGzT2yqv;I9vxeivZ2y9up5rf=j3M{f zLYr7sM9`yv029JejfXtKK-uf<#U6r@73V7Zy}+1Lf71E=O%(6-{WJXLhFcRJqq&8& zq+by7Nmcsfd1jq|I61l1GZ*dkqs`B(_3d@4Sq-cyWlBE*WkjfMAn2rG;)Gk88n7-! ziw@vCv)$$fl$JVQ)jK`2M>$3Er> z{|Ragl#HT91%+Y6Bws|Ns9BkxKX^c_@>T+hRYJdWh`D!A;~p|=rnLA%Z{9FL*}XU|3Xe}D zd3;B~3P>{fUj_duQS_60AQ9e<-=!1Nm5{Py=1(^_xL2aLN+%I^n)uzzs_@Hv4o-z; z-_mu3ognLn2G{P=?*-k*OK#r4oDi}$3s(sp>B}<8(dN3Tk#EHm7t~SaEGEmp4%ous z9ut2=FaS$-t6<{S6vXnh&&Wb7vP=-)=srDv7qUt5l!c9&!?b35(-N}qwI>$KGtD^} zW_R@W`grd!N0~O7+kN2KyF?&n3=hbe zbVk&cISGX1en^qC_i^f(RbsSff{hWly&pqxvwfw0?!SvlY0uSW`?XERXM7p80s0<1hgOf43r-1SAddJtN1gsR11AH-EhzU-~`nR^zNH8rp_2?6S$j zPN8>gSG*cJ3-$a&Jp(xC3lnJl56#pd7c6*qDa?ekaDqNw@5y$QQYKGR{V`?* z{6w{1P0Lv;!1#{iku+0BQnPNE@urcZhfxtG)mUC;b>LsnWI)U3c7CF=9{Rtx7wk7D z2i2DIg%hrd)<2z^h9$IS+Nw+rrP&*gMufhg3`I(N6S=k|-E%!@O}4!Ag>8o$`Y^Yt zFT=rLh+2C%L+|+X01B8!ZBb7T@nA>Yj1p*UN)(uqht*E=yfIK0$&xdF7OEadT(48B zm-sH2l)_l~sL$)`yi2y}yaGhCYtj;evhVcqvI#_{J}tG$rbI z&T+>mW)G8%cdCD{YlT9a^#Ax5l*ACbJrYgzL`4QE^d5TUhRNjFLV@!VT5>7)Hsw=} zm9#i4qQvJHo&6ih%ldPxC@1`cv3yV|2riOz-oDjNPP}SxgyHIV;tl`8)yU+_HZ z=*u7C!T;Fp#AMui3}KC*acrztX-1Ppwm&u}_D;C>>#B38xv+6FEUAVQj@7E7t=Z@~ z`GqlrFG@l-^F&sd)4`075MOp;pj)wY-~PzhNG8v7Y9T3GaM!tJsi~k#N#np@7v+zZ zFG;#PJJ{rJTU|zXHFhjpCZ8ZlVW}7;KAv|6L!)4+;L8ee(Am%o<9>0ZBK`dwsniUksT%i^lDLJOqYL`VI^=mz8NJQZILm!L# z*wX(CGTCV`9hKg-s;CGT9_e#Jq=!2Tl)bNsyUUKRs1S<|)9KJW=9wp#&JKyVWL}3d zr3wfUPh&hC?0KsX2a!&w)%Q6SMC$hi(4P`LK5@yEzh4OfEF=Q%X9|Il%+{sZExpLK z?l+0IIn?rbn_9Dvp94w!^LG@tXvlzv@W5TIL_tkPves4$$m)k?Gg*axb2)cpc$cqgxjdAWluOGj57iwUcA+{@%zADHetpZ49!MFY| znFJp0ZLS1P$vA*9`f(KMOu(+e=3~};C5A-o8zAL5chpisy?*}m*Pq4W)#qZ?pw44H z-4Stcn{{66xC$+?@to1#p2oNB>C`fpEct2gYawJs&YxOU`%uc{sI;Ckk9*zVoHp}S z$6Z(vHTCermZ@Z|9!dxP)FU&S;`Ch=m`t=^bw#ruwX+yiJV^8(MUB5fyLv>R`sbhr zf5KrFh`)=7A5w1d%&CN6qN{i?@Hqm-PWd2HP z9=d4my;)_v>~}8Mr94R1;m=3^|H1HeE-QrMQ-cBt0N;7a!a9-_Y-bhRCmF8+Y=XBb zrT-XDaB^5gaNZ05?^h7H|6T6QWdV)heR}WCQvjPhH9L5m#6}|fR_wFH&2(9+G=PIW zu-#NxroMu7ZoM8StiKy)UE!dvQE6E$75roX#cQ=HbY9LclEacxN^>-^4GjhB>^J@b zuRDYN{Sbv>BN#*9p4cHT?K8_zKn$vSQg)`~WAsHkCQxw$r;BvzNtAV5V({$m9&0(l zKQmTQE9tW5l)qmTsI=Wia!$4Qu|80CQUqV9ACWNV7)XA>vL1MQUwCx0#6_bTenN*1 z$apBF6_Yub=~}zA1JO!B2k6g?4~;54R8u=)%;05ziUBuFa%z95h(q%pf8<+26STVM z%(_$e=1xteK5rKkT6nD z7K{pc#IfQCOiTL0HqnfrBAC*dsG-ajHj-5gXgO-W)VY;H7>_bgd1{DAq!XoS&5BW} zi!UzQvOh^3kRdpoeO<8b7S-~!cc7r&Dp_oaJ`gdSit^I{oK-wtL`~^#C1Dt9SI7pB zA6Va6h2tncDbh^iLLTIN))@!%6ySpitCSG`2zQj0K(o=@@!lxl(=nc1f8+^UkPMbiL{y^!Rkpym~JZXa2)>bF_Y^zkpo(^rM|;; zi~8~@8#+-&8fY~Y4WyQqx=p5sjXKZwUK)U({_q#@cCgsPxk6LcI;b`cTR(>{M?W90 zhbaRo@5GYgLJDEwFi_dsmWkdiG2!Q>PU(qC2{x%oap4)ZM1Zr5@S#U(sYN{s?(jjm zN7F6m?x1yEKtH4^Gj)S^3+~p9H!7~4hji|!Bvy4Eufsa3tp~01*Zo?xlTT;>{SsG{ z8hI%5A3#258H+e8QrWRqnX#cK%{+hK=CjOet(3KS%^#U9dS;NTw33E-r83%=(Ls;T z$JKvDJ<*@qQELX^!KkmgNvE5Mfl|u>egIh-+&EiXqKhrl{`KkHzUNG9JE|Gl+4z}y zD*>)*~q``Di`DjC@^0rjiSn$)Z> zg=ne1UH_}I$)if;Pu2_~4hEoPKoD&NY4>ePn(VISNp~k@ey0=JBCV?tWXNj7^qy`# z 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 literal 0 HcmV?d00001 diff --git a/themes/butterfly b/themes/butterfly new file mode 160000 index 0000000..6a1330d --- /dev/null +++ b/themes/butterfly @@ -0,0 +1 @@ +Subproject commit 6a1330de843840de313e5bed8804addebd9ce8f1 diff --git a/themes/landscape/.gitignore b/themes/landscape/.gitignore new file mode 100644 index 0000000..6e3a08a --- /dev/null +++ b/themes/landscape/.gitignore @@ -0,0 +1,3 @@ +.DS_Store +node_modules +tmp \ No newline at end of file diff --git a/themes/landscape/Gruntfile.js b/themes/landscape/Gruntfile.js new file mode 100644 index 0000000..59fd5df --- /dev/null +++ b/themes/landscape/Gruntfile.js @@ -0,0 +1,46 @@ +module.exports = function(grunt){ + grunt.initConfig({ + gitclone: { + fontawesome: { + options: { + repository: 'https://github.com/FortAwesome/Font-Awesome.git', + directory: 'tmp/fontawesome' + }, + }, + fancybox: { + options: { + repository: 'https://github.com/fancyapps/fancyBox.git', + directory: 'tmp/fancybox' + } + } + }, + copy: { + fontawesome: { + expand: true, + cwd: 'tmp/fontawesome/fonts/', + src: ['**'], + dest: 'source/css/fonts/' + }, + fancybox: { + expand: true, + cwd: 'tmp/fancybox/source/', + src: ['**'], + dest: 'source/fancybox/' + } + }, + _clean: { + tmp: ['tmp'], + fontawesome: ['source/css/fonts'], + fancybox: ['source/fancybox'] + } + }); + + require('load-grunt-tasks')(grunt); + + grunt.renameTask('clean', '_clean'); + + grunt.registerTask('fontawesome', ['gitclone:fontawesome', 'copy:fontawesome', '_clean:tmp']); + grunt.registerTask('fancybox', ['gitclone:fancybox', 'copy:fancybox', '_clean:tmp']); + grunt.registerTask('default', ['gitclone', 'copy', '_clean:tmp']); + grunt.registerTask('clean', ['_clean']); +}; \ No newline at end of file diff --git a/themes/landscape/LICENSE b/themes/landscape/LICENSE new file mode 100644 index 0000000..9ce4d32 --- /dev/null +++ b/themes/landscape/LICENSE @@ -0,0 +1,7 @@ +Copyright (c) 2013 Tommy Chen + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/themes/landscape/README.md b/themes/landscape/README.md new file mode 100644 index 0000000..90ecccd --- /dev/null +++ b/themes/landscape/README.md @@ -0,0 +1,112 @@ +# Landscape + +A brand new default theme for [Hexo]. + +- [Preview](http://hexo.io/hexo-theme-landscape/) + +## Installation + +### Install + +``` bash +$ git clone https://github.com/hexojs/hexo-theme-landscape.git themes/landscape +``` + +**Landscape requires Hexo 2.4 and above.** If you would like to enable the RSS, the [hexo-generate-feed] plugin is also required. + +### Enable + +Modify `theme` setting in `_config.yml` to `landscape`. + +### Update + +``` bash +cd themes/landscape +git pull +``` + +## Configuration + +``` yml +# Header +menu: + Home: / + Archives: /archives +rss: /atom.xml + +# Content +excerpt_link: Read More +fancybox: true + +# Sidebar +sidebar: right +widgets: +- category +- tag +- tagcloud +- archives +- recent_posts + +# Miscellaneous +google_analytics: +favicon: /favicon.png +twitter: +google_plus: +``` + +- **menu** - Navigation menu +- **rss** - RSS link +- **excerpt_link** - "Read More" link at the bottom of excerpted articles. `false` to hide the link. +- **fancybox** - Enable [Fancybox] +- **sidebar** - Sidebar style. You can choose `left`, `right`, `bottom` or `false`. +- **widgets** - Widgets displaying in sidebar +- **google_analytics** - Google Analytics ID +- **favicon** - Favicon path +- **twitter** - Twiiter ID +- **google_plus** - Google+ ID + +## Features + +### Fancybox + +Landscape uses [Fancybox] to showcase your photos. You can use Markdown syntax or fancybox tag plugin to add your photos. + +``` +![img caption](img url) + +{% fancybox img_url [img_thumbnail] [img_caption] %} +``` + +### Sidebar + +You can put your sidebar in left side, right side or bottom of your site by editing `sidebar` setting. + +Landscape provides 5 built-in widgets: + +- category +- tag +- tagcloud +- archives +- recent_posts + +All of them are enabled by default. You can edit them in `widget` setting. + +## Development + +### Requirements + +- [Grunt] 0.4+ +- Hexo 2.4+ + +### Grunt tasks + +- **default** - Download [Fancybox] and [Font Awesome]. +- **fontawesome** - Only download [Font Awesome]. +- **fancybox** - Only download [Fancybox]. +- **clean** - Clean temporarily files and downloaded files. + +[Hexo]: https://hexo.io/ +[Fancybox]: http://fancyapps.com/fancybox/ +[Font Awesome]: http://fontawesome.io/ +[Grunt]: http://gruntjs.com/ +[hexo-generate-feed]: https://github.com/hexojs/hexo-generator-feed diff --git a/themes/landscape/_config.yml b/themes/landscape/_config.yml new file mode 100644 index 0000000..ca22374 --- /dev/null +++ b/themes/landscape/_config.yml @@ -0,0 +1,37 @@ +# Header +menu: + Home: / + Archives: /archives +rss: /atom.xml + +# Content +excerpt_link: Read More +fancybox: true + +# Sidebar +sidebar: right +widgets: +- category +- tag +- tagcloud +- archive +- recent_posts + +# display widgets at the bottom of index pages (pagination == 2) +index_widgets: +# - category +# - tagcloud +# - archive + +# widget behavior +archive_type: 'monthly' +show_count: false + +# Miscellaneous +google_analytics: +gauges_analytics: +favicon: /favicon.png +twitter: +google_plus: +fb_admins: +fb_app_id: diff --git a/themes/landscape/languages/de.yml b/themes/landscape/languages/de.yml new file mode 100644 index 0000000..630055f --- /dev/null +++ b/themes/landscape/languages/de.yml @@ -0,0 +1,19 @@ +categories: Kategorien +search: Suche +tags: Tags +tagcloud: Tag Cloud +tweets: Tweets +prev: zurück +next: weiter +comment: Kommentare +archive_a: Archiv +archive_b: "Archive: %s" +page: Seite %d +recent_posts: letzter Beitrag +newer: Neuer +older: Älter +share: Teilen +powered_by: Powered by +rss_feed: RSS Feed +category: Kategorie +tag: Tag diff --git a/themes/landscape/languages/default.yml b/themes/landscape/languages/default.yml new file mode 100644 index 0000000..3ef7e92 --- /dev/null +++ b/themes/landscape/languages/default.yml @@ -0,0 +1,19 @@ +categories: Categories +search: Search +tags: Tags +tagcloud: Tag Cloud +tweets: Tweets +prev: Prev +next: Next +comment: Comments +archive_a: Archives +archive_b: "Archives: %s" +page: Page %d +recent_posts: Recent Posts +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/landscape/languages/es.yml b/themes/landscape/languages/es.yml new file mode 100644 index 0000000..d862e87 --- /dev/null +++ b/themes/landscape/languages/es.yml @@ -0,0 +1,19 @@ +categories: Categorías +search: Buscar +tags: Tags +tagcloud: Nube de Tags +tweets: Tweets +prev: Previo +next: Siguiente +comment: Comentarios +archive_a: Archivos +archive_b: "Archivos: %s" +page: Página %d +recent_posts: Posts recientes +newer: Nuevo +older: Viejo +share: Compartir +powered_by: Construido por +rss_feed: RSS +category: Categoría +tag: Tag \ No newline at end of file diff --git a/themes/landscape/languages/fr.yml b/themes/landscape/languages/fr.yml new file mode 100644 index 0000000..c84f51b --- /dev/null +++ b/themes/landscape/languages/fr.yml @@ -0,0 +1,19 @@ +categories: Catégories +search: Rechercher +tags: Mot-clés +tagcloud: Nuage de mot-clés +tweets: Tweets +prev: Précédent +next: Suivant +comment: Commentaires +archive_a: Archives +archive_b: "Archives: %s" +page: Page %d +recent_posts: Articles récents +newer: Récent +older: Ancien +share: Partager +powered_by: Propulsé par +rss_feed: Flux RSS +category: Catégorie +tag: Mot-clé diff --git a/themes/landscape/languages/ja.yml b/themes/landscape/languages/ja.yml new file mode 100644 index 0000000..af0f7fe --- /dev/null +++ b/themes/landscape/languages/ja.yml @@ -0,0 +1,19 @@ +categories: カテゴリ +search: 検索 +tags: タグ +tagcloud: タグクラウド +tweets: ツイート +prev: 戻る +next: 次へ +comment: コメント +archive_a: アーカイブ +archive_b: "アーカイブ: %s" +page: ページ %d +recent_posts: 最近の投稿 +newer: 次の記事 +older: 前の記事 +share: 共有 +powered_by: Powered by +rss_feed: RSSフィード +category: カテゴリ +tag: タグ diff --git a/themes/landscape/languages/ko.yml b/themes/landscape/languages/ko.yml new file mode 100644 index 0000000..1d27b43 --- /dev/null +++ b/themes/landscape/languages/ko.yml @@ -0,0 +1,19 @@ +categories: 카테고리 +search: 검색 +tags: 태그 +tagcloud: 태그 클라우드 +tweets: 트윗 +prev: 이전 +next: 다음 +comment: 댓글 +archive_a: 아카이브 +archive_b: "아카이브: %s" +page: 페이지 %d +recent_posts: 최근 포스트 +newer: 최신 +older: 이전 +share: 공유 +powered_by: Powered by +rss_feed: RSS Feed +category: 카테고리 +tag: 태그 diff --git a/themes/landscape/languages/nl.yml b/themes/landscape/languages/nl.yml new file mode 100644 index 0000000..568d33e --- /dev/null +++ b/themes/landscape/languages/nl.yml @@ -0,0 +1,20 @@ + +categories: Categorieën +search: Zoeken +tags: Labels +tagcloud: Tag Cloud +tweets: Tweets +prev: Vorige +next: Volgende +comment: Commentaren +archive_a: Archieven +archive_b: "Archieven: %s" +page: Pagina %d +recent_posts: Recente berichten +newer: Nieuwer +older: Ouder +share: Delen +powered_by: Powered by +rss_feed: RSS Feed +category: Categorie +tag: Label diff --git a/themes/landscape/languages/no.yml b/themes/landscape/languages/no.yml new file mode 100644 index 0000000..b997691 --- /dev/null +++ b/themes/landscape/languages/no.yml @@ -0,0 +1,19 @@ +categories: Kategorier +search: Søk +tags: Tags +tagcloud: Tag Cloud +tweets: Tweets +prev: Forrige +next: Neste +comment: Kommentarer +archive_a: Arkiv +archive_b: "Arkiv: %s" +page: Side %d +recent_posts: Siste innlegg +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/landscape/languages/pt.yml b/themes/landscape/languages/pt.yml new file mode 100644 index 0000000..3d74af3 --- /dev/null +++ b/themes/landscape/languages/pt.yml @@ -0,0 +1,19 @@ +categories: Categorias +search: Buscar +tags: Tags +tagcloud: Nuvem de Tags +tweets: Tweets +prev: Anterior +next: Próximo +comment: Comentários +archive_a: Arquivos +archive_b: "Arquivos: %s" +page: Página %d +recent_posts: Postagens Recentes +newer: Mais Recente +older: Mais Antigo +share: Compartilhar +powered_by: Desenvolvido por +rss_feed: Feed RSS +category: Categoria +tag: Tag diff --git a/themes/landscape/languages/ru.yml b/themes/landscape/languages/ru.yml new file mode 100644 index 0000000..625a83c --- /dev/null +++ b/themes/landscape/languages/ru.yml @@ -0,0 +1,19 @@ +categories: Категории +search: Поиск +tags: Метки +tagcloud: Облако меток +tweets: Твиты +prev: Назад +next: Вперед +comment: Комментарии +archive_a: Архив +archive_b: "Архив: %s" +page: Страница %d +recent_posts: Недавние записи +newer: Следующий +older: Предыдущий +share: Поделиться +powered_by: Создано с помощью +rss_feed: RSS-каналы +category: Категория +tag: Метка \ No newline at end of file diff --git a/themes/landscape/languages/zh-CN.yml b/themes/landscape/languages/zh-CN.yml new file mode 100644 index 0000000..51e1321 --- /dev/null +++ b/themes/landscape/languages/zh-CN.yml @@ -0,0 +1,19 @@ +categories: 分类 +search: 搜索 +tags: 标签 +tagcloud: 标签云 +tweets: 推文 +prev: 上一页 +next: 下一页 +comment: 留言 +archive_a: 归档 +archive_b: 归档:%s +page: 第 %d 页 +recent_posts: 最新文章 +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/landscape/languages/zh-TW.yml b/themes/landscape/languages/zh-TW.yml new file mode 100644 index 0000000..76d2916 --- /dev/null +++ b/themes/landscape/languages/zh-TW.yml @@ -0,0 +1,19 @@ +categories: 分類 +search: 搜尋 +tags: 標籤 +tagcloud: 標籤雲 +tweets: 推文 +prev: 上一頁 +next: 下一頁 +comment: 留言 +archive_a: 彙整 +archive_b: 彙整:%s +page: 第 %d 頁 +recent_posts: 最新文章 +newer: Newer +older: Older +share: Share +powered_by: Powered by +rss_feed: RSS Feed +category: Category +tag: Tag \ No newline at end of file diff --git a/themes/landscape/layout/_partial/after-footer.ejs b/themes/landscape/layout/_partial/after-footer.ejs new file mode 100644 index 0000000..ff2d509 --- /dev/null +++ b/themes/landscape/layout/_partial/after-footer.ejs @@ -0,0 +1,25 @@ +<% if (config.disqus_shortname){ %> + +<% } %> + + + +<% if (theme.fancybox){ %> + <%- css('fancybox/jquery.fancybox') %> + <%- js('fancybox/jquery.fancybox.pack') %> +<% } %> + +<%- js('js/script') %> +<%- partial('gauges-analytics') %> diff --git a/themes/landscape/layout/_partial/archive-post.ejs b/themes/landscape/layout/_partial/archive-post.ejs new file mode 100644 index 0000000..36f2cc3 --- /dev/null +++ b/themes/landscape/layout/_partial/archive-post.ejs @@ -0,0 +1,8 @@ +

+
+
+ <%- partial('post/date', {class_name: 'archive-article-date', date_format: 'MMM D'}) %> + <%- partial('post/title', {class_name: 'archive-article-title'}) %> +
+
+
\ No newline at end of file diff --git a/themes/landscape/layout/_partial/archive.ejs b/themes/landscape/layout/_partial/archive.ejs new file mode 100644 index 0000000..9da934a --- /dev/null +++ b/themes/landscape/layout/_partial/archive.ejs @@ -0,0 +1,34 @@ +<% if (pagination == 2){ %> + <% page.posts.each(function(post){ %> + <%- partial('article', {post: post, index: true}) %> + <% }) %> +<% } else { %> + <% var last; %> + <% page.posts.each(function(post, i){ %> + <% var year = post.date.year(); %> + <% if (last != year){ %> + <% if (last != null){ %> + + <% } %> + <% last = year; %> +
+ +
+ <% } %> + <%- partial('archive-post', {post: post, even: i % 2 == 0}) %> + <% }) %> + <% if (page.posts.length){ %> +
+ <% } %> +<% } %> +<% if (page.total > 1){ %> + +<% } %> diff --git a/themes/landscape/layout/_partial/article.ejs b/themes/landscape/layout/_partial/article.ejs new file mode 100644 index 0000000..0f951a9 --- /dev/null +++ b/themes/landscape/layout/_partial/article.ejs @@ -0,0 +1,44 @@ +
+ +
+ <%- partial('post/gallery') %> + <% if (post.link || post.title){ %> +
+ <%- partial('post/title', {class_name: 'article-title'}) %> +
+ <% } %> +
+ <% if (post.excerpt && index){ %> + <%- post.excerpt %> + <% if (theme.excerpt_link){ %> +

+ <%= theme.excerpt_link %> +

+ <% } %> + <% } else { %> + <%- post.content %> + <% } %> +
+ +
+ <% if (!index){ %> + <%- partial('post/nav') %> + <% } %> +
+ +<% if (!index && post.comments && config.disqus_shortname){ %> +
+
+ +
+
+<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_partial/footer.ejs b/themes/landscape/layout/_partial/footer.ejs new file mode 100644 index 0000000..3aca618 --- /dev/null +++ b/themes/landscape/layout/_partial/footer.ejs @@ -0,0 +1,11 @@ +
+ <% if (theme.sidebar === 'bottom'){ %> + <%- partial('_partial/sidebar') %> + <% } %> +
+ +
+
\ No newline at end of file diff --git a/themes/landscape/layout/_partial/gauges-analytics.ejs b/themes/landscape/layout/_partial/gauges-analytics.ejs new file mode 100644 index 0000000..d64be38 --- /dev/null +++ b/themes/landscape/layout/_partial/gauges-analytics.ejs @@ -0,0 +1,18 @@ +<% if (theme.gauges_analytics){ %> + + + +<% } %> diff --git a/themes/landscape/layout/_partial/google-analytics.ejs b/themes/landscape/layout/_partial/google-analytics.ejs new file mode 100644 index 0000000..84e75f0 --- /dev/null +++ b/themes/landscape/layout/_partial/google-analytics.ejs @@ -0,0 +1,14 @@ +<% if (theme.google_analytics){ %> + + + +<% } %> diff --git a/themes/landscape/layout/_partial/head.ejs b/themes/landscape/layout/_partial/head.ejs new file mode 100644 index 0000000..43d5f93 --- /dev/null +++ b/themes/landscape/layout/_partial/head.ejs @@ -0,0 +1,36 @@ + + + + + <%- partial('google-analytics') %> + <% + var title = page.title; + + if (is_archive()){ + title = __('archive_a'); + + if (is_month()){ + title += ': ' + page.year + '/' + page.month; + } else if (is_year()){ + title += ': ' + page.year; + } + } else if (is_category()){ + title = __('category') + ': ' + page.category; + } else if (is_tag()){ + title = __('tag') + ': ' + page.tag; + } + %> + <% if (title){ %><%= title %> | <% } %><%= config.title %> + + <%- open_graph({twitter_id: theme.twitter, google_plus: theme.google_plus, fb_admins: theme.fb_admins, fb_app_id: theme.fb_app_id}) %> + <% if (theme.rss){ %> + + <% } %> + <% if (theme.favicon){ %> + + <% } %> + <% if (config.highlight.enable){ %> + + <% } %> + <%- css('css/style') %> + diff --git a/themes/landscape/layout/_partial/header.ejs b/themes/landscape/layout/_partial/header.ejs new file mode 100644 index 0000000..e8a305e --- /dev/null +++ b/themes/landscape/layout/_partial/header.ejs @@ -0,0 +1,32 @@ + \ No newline at end of file diff --git a/themes/landscape/layout/_partial/mobile-nav.ejs b/themes/landscape/layout/_partial/mobile-nav.ejs new file mode 100644 index 0000000..7c1d2af --- /dev/null +++ b/themes/landscape/layout/_partial/mobile-nav.ejs @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/themes/landscape/layout/_partial/post/category.ejs b/themes/landscape/layout/_partial/post/category.ejs new file mode 100644 index 0000000..db2ed48 --- /dev/null +++ b/themes/landscape/layout/_partial/post/category.ejs @@ -0,0 +1,10 @@ +<% if (post.categories && post.categories.length){ %> + +<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_partial/post/date.ejs b/themes/landscape/layout/_partial/post/date.ejs new file mode 100644 index 0000000..3f49613 --- /dev/null +++ b/themes/landscape/layout/_partial/post/date.ejs @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/themes/landscape/layout/_partial/post/gallery.ejs b/themes/landscape/layout/_partial/post/gallery.ejs new file mode 100644 index 0000000..886c8ec --- /dev/null +++ b/themes/landscape/layout/_partial/post/gallery.ejs @@ -0,0 +1,11 @@ +<% if (post.photos && post.photos.length){ %> +
+
+ <% post.photos.forEach(function(photo, i){ %> + + + + <% }) %> +
+
+<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_partial/post/nav.ejs b/themes/landscape/layout/_partial/post/nav.ejs new file mode 100644 index 0000000..720798a --- /dev/null +++ b/themes/landscape/layout/_partial/post/nav.ejs @@ -0,0 +1,22 @@ +<% if (post.prev || post.next){ %> + +<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_partial/post/tag.ejs b/themes/landscape/layout/_partial/post/tag.ejs new file mode 100644 index 0000000..e0f327f --- /dev/null +++ b/themes/landscape/layout/_partial/post/tag.ejs @@ -0,0 +1,6 @@ +<% if (post.tags && post.tags.length){ %> + <%- list_tags(post.tags, { + show_count: false, + class: 'article-tag' + }) %> +<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_partial/post/title.ejs b/themes/landscape/layout/_partial/post/title.ejs new file mode 100644 index 0000000..69d646f --- /dev/null +++ b/themes/landscape/layout/_partial/post/title.ejs @@ -0,0 +1,15 @@ +<% if (post.link){ %> +

+ +

+<% } else if (post.title){ %> + <% if (index){ %> +

+ <%= post.title %> +

+ <% } else { %> +

+ <%= post.title %> +

+ <% } %> +<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_partial/sidebar.ejs b/themes/landscape/layout/_partial/sidebar.ejs new file mode 100644 index 0000000..c1e48e5 --- /dev/null +++ b/themes/landscape/layout/_partial/sidebar.ejs @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/themes/landscape/layout/_widget/archive.ejs b/themes/landscape/layout/_widget/archive.ejs new file mode 100644 index 0000000..a20c58c --- /dev/null +++ b/themes/landscape/layout/_widget/archive.ejs @@ -0,0 +1,8 @@ +<% if (site.posts.length){ %> +
+

<%= __('archive_a') %>

+
+ <%- list_archives({show_count: theme.show_count, type: theme.archive_type}) %> +
+
+<% } %> diff --git a/themes/landscape/layout/_widget/category.ejs b/themes/landscape/layout/_widget/category.ejs new file mode 100644 index 0000000..8d9e5e9 --- /dev/null +++ b/themes/landscape/layout/_widget/category.ejs @@ -0,0 +1,8 @@ +<% if (site.categories.length){ %> +
+

<%= __('categories') %>

+
+ <%- list_categories({show_count: theme.show_count}) %> +
+
+<% } %> diff --git a/themes/landscape/layout/_widget/recent_posts.ejs b/themes/landscape/layout/_widget/recent_posts.ejs new file mode 100644 index 0000000..7a38547 --- /dev/null +++ b/themes/landscape/layout/_widget/recent_posts.ejs @@ -0,0 +1,14 @@ +<% if (site.posts.length){ %> +
+

<%= __('recent_posts') %>

+
+ +
+
+<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/_widget/tag.ejs b/themes/landscape/layout/_widget/tag.ejs new file mode 100644 index 0000000..ea5fb2c --- /dev/null +++ b/themes/landscape/layout/_widget/tag.ejs @@ -0,0 +1,8 @@ +<% if (site.tags.length){ %> +
+

<%= __('tags') %>

+
+ <%- list_tags({show_count: theme.show_count}) %> +
+
+<% } %> diff --git a/themes/landscape/layout/_widget/tagcloud.ejs b/themes/landscape/layout/_widget/tagcloud.ejs new file mode 100644 index 0000000..5feb435 --- /dev/null +++ b/themes/landscape/layout/_widget/tagcloud.ejs @@ -0,0 +1,8 @@ +<% if (site.tags.length){ %> +
+

<%= __('tagcloud') %>

+
+ <%- tagcloud() %> +
+
+<% } %> \ No newline at end of file diff --git a/themes/landscape/layout/archive.ejs b/themes/landscape/layout/archive.ejs new file mode 100644 index 0000000..52f9b21 --- /dev/null +++ b/themes/landscape/layout/archive.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: config.archive, index: true}) %> \ No newline at end of file diff --git a/themes/landscape/layout/category.ejs b/themes/landscape/layout/category.ejs new file mode 100644 index 0000000..3ffe252 --- /dev/null +++ b/themes/landscape/layout/category.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: config.category, index: true}) %> \ No newline at end of file diff --git a/themes/landscape/layout/index.ejs b/themes/landscape/layout/index.ejs new file mode 100644 index 0000000..60a2c68 --- /dev/null +++ b/themes/landscape/layout/index.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: 2, index: true}) %> \ No newline at end of file diff --git a/themes/landscape/layout/layout.ejs b/themes/landscape/layout/layout.ejs new file mode 100644 index 0000000..cf88daf --- /dev/null +++ b/themes/landscape/layout/layout.ejs @@ -0,0 +1,18 @@ +<%- partial('_partial/head') %> + +
+
+ <%- partial('_partial/header', null, {cache: !config.relative_link}) %> +
+
<%- body %>
+ <% if (theme.sidebar && theme.sidebar !== 'bottom'){ %> + <%- partial('_partial/sidebar', null, {cache: !config.relative_link}) %> + <% } %> +
+ <%- partial('_partial/footer', null, {cache: !config.relative_link}) %> +
+ <%- partial('_partial/mobile-nav', null, {cache: !config.relative_link}) %> + <%- partial('_partial/after-footer') %> +
+ + \ No newline at end of file diff --git a/themes/landscape/layout/page.ejs b/themes/landscape/layout/page.ejs new file mode 100644 index 0000000..bea6318 --- /dev/null +++ b/themes/landscape/layout/page.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', {post: page, index: false}) %> \ No newline at end of file diff --git a/themes/landscape/layout/post.ejs b/themes/landscape/layout/post.ejs new file mode 100644 index 0000000..bea6318 --- /dev/null +++ b/themes/landscape/layout/post.ejs @@ -0,0 +1 @@ +<%- partial('_partial/article', {post: page, index: false}) %> \ No newline at end of file diff --git a/themes/landscape/layout/tag.ejs b/themes/landscape/layout/tag.ejs new file mode 100644 index 0000000..048cdb0 --- /dev/null +++ b/themes/landscape/layout/tag.ejs @@ -0,0 +1 @@ +<%- partial('_partial/archive', {pagination: config.tag, index: true}) %> \ No newline at end of file diff --git a/themes/landscape/package.json b/themes/landscape/package.json new file mode 100644 index 0000000..ac0df3d --- /dev/null +++ b/themes/landscape/package.json @@ -0,0 +1,12 @@ +{ + "name": "hexo-theme-landscape", + "version": "0.0.2", + "private": true, + "devDependencies": { + "grunt": "~0.4.2", + "load-grunt-tasks": "~0.2.0", + "grunt-git": "~0.2.2", + "grunt-contrib-clean": "~0.5.0", + "grunt-contrib-copy": "~0.4.1" + } +} diff --git a/themes/landscape/scripts/fancybox.js b/themes/landscape/scripts/fancybox.js new file mode 100644 index 0000000..83f1fdc --- /dev/null +++ b/themes/landscape/scripts/fancybox.js @@ -0,0 +1,24 @@ +var rUrl = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/; + +/** +* Fancybox tag +* +* Syntax: +* {% fancybox /path/to/image [/path/to/thumbnail] [title] %} +*/ + +hexo.extend.tag.register('fancybox', function(args){ + var original = args.shift(), + thumbnail = ''; + + if (args.length && rUrl.test(args[0])){ + thumbnail = args.shift(); + } + + var title = args.join(' '); + + return '' + + '' + title + '' + '' + + (title ? '' + title + '' : ''); +}); \ No newline at end of file diff --git a/themes/landscape/source/css/_extend.styl b/themes/landscape/source/css/_extend.styl new file mode 100644 index 0000000..96a1817 --- /dev/null +++ b/themes/landscape/source/css/_extend.styl @@ -0,0 +1,63 @@ +$block-caption + text-decoration: none + text-transform: uppercase + letter-spacing: 2px + color: color-grey + margin-bottom: 1em + margin-left: 5px + line-height: 1em + text-shadow: 0 1px #fff + font-weight: bold + +$block + background: #fff + box-shadow: 1px 2px 3px #ddd + border: 1px solid color-border + border-radius: 3px + +$base-style + h1 + font-size: 2em + h2 + font-size: 1.5em + h3 + font-size: 1.3em + h4 + font-size: 1.2em + h5 + font-size: 1em + h6 + font-size: 1em + color: color-grey + hr + border: 1px dashed color-border + strong + font-weight: bold + em, cite + font-style: italic + sup, sub + font-size: 0.75em + line-height: 0 + position: relative + vertical-align: baseline + sup + top: -0.5em + sub + bottom: -0.2em + small + font-size: 0.85em + acronym, abbr + border-bottom: 1px dotted + ul, ol, dl + margin: 0 20px + line-height: line-height + ul, ol + ul, ol + margin-top: 0 + margin-bottom: 0 + ul + list-style: disc + ol + list-style: decimal + dt + font-weight: bold \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/archive.styl b/themes/landscape/source/css/_partial/archive.styl new file mode 100644 index 0000000..90ef053 --- /dev/null +++ b/themes/landscape/source/css/_partial/archive.styl @@ -0,0 +1,80 @@ +.archives-wrap + margin: block-margin 0 + +.archives + clearfix() + +.archive-year-wrap + margin-bottom: 1em + +.archive-year + @extend $block-caption + +.archives + column-gap: 10px + @media mq-tablet + column-count: 2 + @media mq-normal + column-count: 3 + +.archive-article + avoid-column-break() + +.archive-article-inner + @extend $block + padding: 10px + margin-bottom: 15px + +.archive-article-title + text-decoration: none + font-weight: bold + color: color-default + transition: color 0.2s + line-height: line-height + &:hover + color: color-link + +.archive-article-footer + margin-top: 1em + +.archive-article-date + color: color-grey + text-decoration: none + font-size: 0.85em + line-height: 1em + margin-bottom: 0.5em + display: block + +#page-nav + clearfix() + margin: block-margin auto + background: #fff + box-shadow: 1px 2px 3px #ddd + border: 1px solid color-border + border-radius: 3px + text-align: center + color: color-grey + overflow: hidden + a, span + padding: 10px 20px + line-height: 1 + height: 2ex + a + color: color-grey + text-decoration: none + &:hover + background: color-grey + color: #fff + .prev + float: left + .next + float: right + .page-number + display: inline-block + @media mq-mobile + display: none + .current + color: color-default + font-weight: bold + .space + color: color-border \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/article.styl b/themes/landscape/source/css/_partial/article.styl new file mode 100644 index 0000000..46094f9 --- /dev/null +++ b/themes/landscape/source/css/_partial/article.styl @@ -0,0 +1,357 @@ +.article + margin: block-margin 0 + +.article-inner + @extend $block + overflow: hidden + +.article-meta + clearfix() + +.article-date + @extend $block-caption + float: left + +.article-category + float: left + line-height: 1em + color: #ccc + text-shadow: 0 1px #fff + margin-left: 8px + &:before + content: "\2022" + +.article-category-link + @extend $block-caption + margin: 0 12px 1em + +.article-header + padding: article-padding article-padding 0 + +.article-title + text-decoration: none + font-size: 2em + font-weight: bold + color: color-default + line-height: line-height-title + transition: color 0.2s + a&:hover + color: color-link + +.article-entry + @extend $base-style + clearfix() + color: color-default + padding: 0 article-padding + p, table + line-height: line-height + margin: line-height 0 + h1, h2, h3, h4, h5, h6 + font-weight: bold + h1, h2, h3, h4, h5, h6 + line-height: line-height-title + margin: line-height-title 0 + a + color: color-link + text-decoration: none + &:hover + text-decoration: underline + ul, ol, dl + margin-top: line-height + margin-bottom: line-height + img, video + max-width: 100% + height: auto + display: block + margin: auto + iframe + border: none + table + width: 100% + border-collapse: collapse + border-spacing: 0 + th + font-weight: bold + border-bottom: 3px solid color-border + padding-bottom: 0.5em + td + border-bottom: 1px solid color-border + padding: 10px 0 + blockquote + font-family: font-serif + font-size: 1.4em + margin: line-height 20px + text-align: center + footer + font-size: font-size + margin: line-height 0 + font-family: font-sans + cite + &:before + content: "—" + padding: 0 0.5em + .pullquote + text-align: left + width: 45% + margin: 0 + &.left + margin-left: 0.5em + margin-right: 1em + &.right + margin-right: 0.5em + margin-left: 1em + .caption + color: color-grey + display: block + font-size: 0.9em + margin-top: 0.5em + position: relative + text-align: center + // http://webdesignerwall.com/tutorials/css-elastic-videos + .video-container + position: relative + padding-top: (9 / 16 * 100)% // 16:9 ratio + height: 0 + overflow: hidden + iframe, object, embed + position: absolute + top: 0 + left: 0 + width: 100% + height: 100% + margin-top: 0 + +.article-more-link a + display: inline-block + line-height: 1em + padding: 6px 15px + border-radius: 15px + background: color-background + color: color-grey + text-shadow: 0 1px #fff + text-decoration: none + &:hover + background: color-link + color: #fff + text-decoration: none + text-shadow: 0 1px darken(color-link, 20%) + +.article-footer + clearfix() + font-size: 0.85em + line-height: line-height + border-top: 1px solid color-border + padding-top: line-height + margin: 0 article-padding article-padding + a + color: color-grey + text-decoration: none + &:hover + color: color-default + +.article-tag-list-item + float: left + margin-right: 10px + +.article-tag-list-link + &:before + content: "#" + +.article-comment-link + float: right + &:before + content: "\f075" + font-family: font-icon + padding-right: 8px + +.article-share-link + cursor: pointer + float: right + margin-left: 20px + &:before + content: "\f064" + font-family: font-icon + padding-right: 6px + +#article-nav + clearfix() + position: relative + @media mq-normal + margin: block-margin 0 + &:before + absolute-center(8px) + content: "" + border-radius: 50% + background: color-border + box-shadow: 0 1px 2px #fff + +.article-nav-link-wrap + text-decoration: none + text-shadow: 0 1px #fff + color: color-grey + box-sizing: border-box + margin-top: block-margin + text-align: center + display: block + &:hover + color: color-default + @media mq-normal + width: 50% + margin-top: 0 + +#article-nav-newer + @media mq-normal + float: left + text-align: right + padding-right: 20px + +#article-nav-older + @media mq-normal + float: right + text-align: left + padding-left: 20px + +.article-nav-caption + text-transform: uppercase + letter-spacing: 2px + color: color-border + line-height: 1em + font-weight: bold + #article-nav-newer & + margin-right: -2px + +.article-nav-title + font-size: 0.85em + line-height: line-height + margin-top: 0.5em + +.article-share-box + position: absolute + display: none + background: #fff + box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2) + border-radius: 3px + margin-left: -145px + overflow: hidden + z-index: 1 + &.on + display: block + +.article-share-input + width: 100% + background: none + box-sizing: border-box + font: 14px font-sans + padding: 0 15px + color: color-default + outline: none + border: 1px solid color-border + border-radius: 3px 3px 0 0 + height: 36px + line-height: 36px + +.article-share-links + clearfix() + background: color-background + +$article-share-link + width: 50px + height: 36px + display: block + float: left + position: relative + color: #999 + text-shadow: 0 1px #fff + &:before + font-size: 20px + font-family: font-icon + absolute-center(@font-size) + text-align: center + &:hover + color: #fff + +.article-share-twitter + @extend $article-share-link + &:before + content: "\f099" + &:hover + background: color-twitter + text-shadow: 0 1px darken(color-twitter, 20%) + +.article-share-facebook + @extend $article-share-link + &:before + content: "\f09a" + &:hover + background: color-facebook + text-shadow: 0 1px darken(color-facebook, 20%) + +.article-share-pinterest + @extend $article-share-link + &:before + content: "\f0d2" + &:hover + background: color-pinterest + text-shadow: 0 1px darken(color-pinterest, 20%) + +.article-share-google + @extend $article-share-link + &:before + content: "\f0d5" + &:hover + background: color-google + text-shadow: 0 1px darken(color-google, 20%) + +.article-gallery + background: #000 + position: relative + +.article-gallery-photos + position: relative + overflow: hidden + +.article-gallery-img + display: none + max-width: 100% + &:first-child + display: block + &.loaded + position: absolute + display: block + img + display: block + max-width: 100% + margin: 0 auto +/* +$article-gallery-ctrl + position: absolute + top: 0 + height: 100% + width: 60px + color: #fff + text-shadow: 0 0 3px rgba(0, 0, 0, 0.3) + opacity: 0.3 + transition: opacity 0.2s + cursor: pointer + &:hover + opacity: 0.8 + &:before + font-size: 30px + font-family: font-icon + position: absolute + top: 50% + margin-top: @font-size * -0.5 + +.article-gallery-prev + @extend $article-gallery-ctrl + left: 0 + &:before + content: "\f053" + left: 15px + +.article-gallery-next + @extend $article-gallery-ctrl + right: 0 + &:before + content: "\f054" + right: 15px*/ \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/comment.styl b/themes/landscape/source/css/_partial/comment.styl new file mode 100644 index 0000000..296b7dd --- /dev/null +++ b/themes/landscape/source/css/_partial/comment.styl @@ -0,0 +1,9 @@ +#comments + background: #fff + box-shadow: 1px 2px 3px #ddd + padding: article-padding + border: 1px solid color-border + border-radius: 3px + margin: block-margin 0 + a + color: color-link \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/footer.styl b/themes/landscape/source/css/_partial/footer.styl new file mode 100644 index 0000000..fe2fd24 --- /dev/null +++ b/themes/landscape/source/css/_partial/footer.styl @@ -0,0 +1,14 @@ +#footer + background: color-footer-background + padding: 50px 0 + border-top: 1px solid color-border + color: color-grey + a + color: color-link + text-decoration: none + &:hover + text-decoration: underline + +#footer-info + line-height: line-height + font-size: 0.85em \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/header.styl b/themes/landscape/source/css/_partial/header.styl new file mode 100644 index 0000000..d18ebc8 --- /dev/null +++ b/themes/landscape/source/css/_partial/header.styl @@ -0,0 +1,165 @@ +#header + height: banner-height + position: relative + border-bottom: 1px solid color-border + &:before, &:after + content: "" + position: absolute + left: 0 + right: 0 + height: 40px + &:before + top: 0 + background: linear-gradient(rgba(0, 0, 0, 0.2), transparent) + &:after + bottom: 0 + background: linear-gradient(transparent, rgba(0, 0, 0, 0.2)) + +#header-outer + height: 100% + position: relative + +#header-inner + position: relative + overflow: hidden + +#banner + position: absolute + top: 0 + left: 0 + width: 100% + height: 100% + background: url(banner-url) center #000 + background-size: cover + z-index: -1 + +#header-title + text-align: center + height: logo-size + position: absolute + top: 50% + left: 0 + margin-top: logo-size * -0.5 + +$logo-text + text-decoration: none + color: #fff + font-weight: 300 + text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) + +#logo + @extend $logo-text + font-size: logo-size + line-height: logo-size + letter-spacing: 2px + +#subtitle + @extend $logo-text + font-size: subtitle-size + line-height: subtitle-size + letter-spacing: 1px + +#subtitle-wrap + margin-top: subtitle-size + +#main-nav + float: left + margin-left: -15px + +$nav-link + float: left + color: #fff + opacity: 0.6 + text-decoration: none + text-shadow: 0 1px rgba(0, 0, 0, 0.2) + transition: opacity 0.2s + display: block + padding: 20px 15px + &:hover + opacity: 1 + +.nav-icon + @extend $nav-link + font-family: font-icon + text-align: center + font-size: font-size + width: font-size + height: font-size + padding: 20px 15px + position: relative + cursor: pointer + +.main-nav-link + @extend $nav-link + font-weight: 300 + letter-spacing: 1px + @media mq-mobile + display: none + +#main-nav-toggle + display: none + &:before + content: "\f0c9" + @media mq-mobile + display: block + +#sub-nav + float: right + margin-right: -15px + +#nav-rss-link + &:before + content: "\f09e" + +#nav-search-btn + &:before + content: "\f002" + +#search-form-wrap + position: absolute + top: 15px + width: 150px + height: 30px + right: -150px + opacity: 0 + transition: 0.2s ease-out + &.on + opacity: 1 + right: 0 + @media mq-mobile + width: 100% + right: -100% + +.search-form + position: absolute + top: 0 + left: 0 + right: 0 + background: #fff + padding: 5px 15px + border-radius: 15px + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3) + +.search-form-input + border: none + background: none + color: color-default + width: 100% + font: 13px font-sans + outline: none + &::-webkit-search-results-decoration + &::-webkit-search-cancel-button + -webkit-appearance: none + +.search-form-submit + position: absolute + top: 50% + right: 10px + margin-top: -7px + font: 13px font-icon + border: none + background: none + color: #bbb + cursor: pointer + &:hover, &:focus + color: #777 \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/highlight.styl b/themes/landscape/source/css/_partial/highlight.styl new file mode 100644 index 0000000..c932ec3 --- /dev/null +++ b/themes/landscape/source/css/_partial/highlight.styl @@ -0,0 +1,158 @@ +// https://github.com/chriskempson/tomorrow-theme +highlight-background = #2d2d2d +highlight-current-line = #393939 +highlight-selection = #515151 +highlight-foreground = #cccccc +highlight-comment = #999999 +highlight-red = #f2777a +highlight-orange = #f99157 +highlight-yellow = #ffcc66 +highlight-green = #99cc99 +highlight-aqua = #66cccc +highlight-blue = #6699cc +highlight-purple = #cc99cc + +$code-block + background: highlight-background + margin: 0 article-padding * -1 + padding: 15px article-padding + border-style: solid + border-color: color-border + border-width: 1px 0 + overflow: auto + color: highlight-foreground + line-height: font-size * line-height + +$line-numbers + color: #666 + font-size: 0.85em + +.article-entry + pre, code + font-family: font-mono + code + background: color-background + text-shadow: 0 1px #fff + padding: 0 0.3em + pre + @extend $code-block + code + background: none + text-shadow: none + padding: 0 + .highlight + @extend $code-block + pre + border: none + margin: 0 + padding: 0 + table + margin: 0 + width: auto + td + border: none + padding: 0 + figcaption + clearfix() + font-size: 0.85em + color: highlight-comment + line-height: 1em + margin-bottom: 1em + a + float: right + .gutter pre + @extend $line-numbers + text-align: right + padding-right: 20px + .line + height: font-size * line-height + .line.marked + background: highlight-selection + .gist + margin: 0 article-padding * -1 + border-style: solid + border-color: color-border + border-width: 1px 0 + background: highlight-background + padding: 15px article-padding 15px 0 + .gist-file + border: none + font-family: font-mono + margin: 0 + .gist-data + background: none + border: none + .line-numbers + @extend $line-numbers + background: none + border: none + padding: 0 20px 0 0 + .line-data + padding: 0 !important + .highlight + margin: 0 + padding: 0 + border: none + .gist-meta + background: highlight-background + color: highlight-comment + font: 0.85em font-sans + text-shadow: 0 0 + padding: 0 + margin-top: 1em + margin-left: article-padding + a + color: color-link + font-weight: normal + &:hover + text-decoration: underline + +pre + .comment + .title + color: highlight-comment + .variable + .attribute + .tag + .regexp + .ruby .constant + .xml .tag .title + .xml .pi + .xml .doctype + .html .doctype + .css .id + .css .class + .css .pseudo + color: highlight-red + .number + .preprocessor + .built_in + .literal + .params + .constant + color: highlight-orange + .class + .ruby .class .title + .css .rules .attribute + color: highlight-green + .string + .value + .inheritance + .header + .ruby .symbol + .xml .cdata + color: highlight-green + .css .hexcolor + color: highlight-aqua + .function + .python .decorator + .python .title + .ruby .function .title + .ruby .title .keyword + .perl .sub + .javascript .title + .coffeescript .title + color: highlight-blue + .keyword + .javascript .function + color: highlight-purple diff --git a/themes/landscape/source/css/_partial/mobile.styl b/themes/landscape/source/css/_partial/mobile.styl new file mode 100644 index 0000000..eb68b3a --- /dev/null +++ b/themes/landscape/source/css/_partial/mobile.styl @@ -0,0 +1,19 @@ +@media mq-mobile + #mobile-nav + position: absolute + top: 0 + left: 0 + width: mobile-nav-width + height: 100% + background: color-mobile-nav-background + border-right: 1px solid #fff + +@media mq-mobile + .mobile-nav-link + display: block + color: color-grey + text-decoration: none + padding: 15px 20px + font-weight: bold + &:hover + color: #fff diff --git a/themes/landscape/source/css/_partial/sidebar-aside.styl b/themes/landscape/source/css/_partial/sidebar-aside.styl new file mode 100644 index 0000000..838b167 --- /dev/null +++ b/themes/landscape/source/css/_partial/sidebar-aside.styl @@ -0,0 +1,27 @@ +#sidebar + @media mq-normal + column(sidebar-column) + +.widget-wrap + margin: block-margin 0 + +.widget-title + @extend $block-caption + +.widget + color: color-sidebar-text + text-shadow: 0 1px #fff + background: color-widget-background + box-shadow: 0 -1px 4px color-widget-border inset + border: 1px solid color-widget-border + padding: 15px + border-radius: 3px + a + color: color-link + text-decoration: none + &:hover + text-decoration: underline + ul, ol, dl + ul, ol, dl + margin-left: 15px + list-style: disc \ No newline at end of file diff --git a/themes/landscape/source/css/_partial/sidebar-bottom.styl b/themes/landscape/source/css/_partial/sidebar-bottom.styl new file mode 100644 index 0000000..e2403fd --- /dev/null +++ b/themes/landscape/source/css/_partial/sidebar-bottom.styl @@ -0,0 +1,27 @@ +.widget-wrap + margin-bottom: block-margin !important + @media mq-normal + column(main-column) + +.widget-title + color: #ccc + text-transform: uppercase + letter-spacing: 2px + margin-bottom: .5em + line-height: 1em + font-weight: bold + +.widget + color: color-grey + ul, ol + li + display: inline-block + zoom:1 + *display:inline + padding-right: .75em +/* Having problems getting balanced white space between items + li:before + content: " | " + li:first-child:before + content: none + */ diff --git a/themes/landscape/source/css/_partial/sidebar.styl b/themes/landscape/source/css/_partial/sidebar.styl new file mode 100644 index 0000000..e43d66a --- /dev/null +++ b/themes/landscape/source/css/_partial/sidebar.styl @@ -0,0 +1,35 @@ +if sidebar is bottom + @import "sidebar-bottom" +else + @import "sidebar-aside" + +.widget + @extend $base-style + line-height: line-height + word-wrap: break-word + font-size: 0.9em + ul, ol + list-style: none + margin: 0 + ul, ol + margin: 0 20px + ul + list-style: disc + ol + list-style: decimal + +.category-list-count +.tag-list-count +.archive-list-count + padding-left: 5px + color: color-grey + font-size: 0.85em + &:before + content: "(" + &:after + content: ")" + +.tagcloud + a + margin-right: 5px + display: inline-block diff --git a/themes/landscape/source/css/_util/grid.styl b/themes/landscape/source/css/_util/grid.styl new file mode 100644 index 0000000..2a14dd2 --- /dev/null +++ b/themes/landscape/source/css/_util/grid.styl @@ -0,0 +1,38 @@ +///////////////// +// Semantic.gs // for Stylus: http://learnboost.github.com/stylus/ +///////////////// + +// Utility function — you should never need to modify this +// _gridsystem-width = (column-width + gutter-width) * columns +gridsystem-width(_columns = columns) + (column-width + gutter-width) * _columns + +// Set @total-width to 100% for a fluid layout +// total-width = gridsystem-width(columns) +total-width = 100% + +////////// +// GRID // +////////// + +body + clearfix() + width: 100% + +row(_columns = columns) + clearfix() + display: block + width: total-width * ((gutter-width + gridsystem-width(_columns)) / gridsystem-width(_columns)) + margin: 0 total-width * (((gutter-width * .5) / gridsystem-width(_columns)) * -1) + +column(x, _columns = columns) + display: inline + float: left + width: total-width * ((((gutter-width + column-width) * x) - gutter-width) / gridsystem-width(_columns)) + margin: 0 total-width * ((gutter-width * .5) / gridsystem-width(_columns)) + +push(offset = 1) + margin-left: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns)) + +pull(offset = 1) + margin-right: total-width * (((gutter-width + column-width) * offset) / gridsystem-width(columns)) \ No newline at end of file diff --git a/themes/landscape/source/css/_util/mixin.styl b/themes/landscape/source/css/_util/mixin.styl new file mode 100644 index 0000000..b56f037 --- /dev/null +++ b/themes/landscape/source/css/_util/mixin.styl @@ -0,0 +1,31 @@ +// http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/ +hide-text() + text-indent: 100% + white-space: nowrap + overflow: hidden + +// http://codepen.io/shshaw/full/gEiDt +absolute-center(width, height = width) + // margin: auto + // position: absolute + // top: 50% + // top: 0 + // left: 0 + // bottom: 0 + // right: 0 + // width: width + // height: height + // overflow: auto + width: width + height: height + position: absolute + top: 50% + left: 50% + margin-top: width * -0.5 + margin-left: height * -0.5 + +avoid-column-break() + vendor("column-break-inside", avoid, only: webkit) + page-break-inside: avoid // for firefox + overflow: hidden // fix for firefox + break-inside: avoid-column diff --git a/themes/landscape/source/css/_variables.styl b/themes/landscape/source/css/_variables.styl new file mode 100644 index 0000000..4562911 --- /dev/null +++ b/themes/landscape/source/css/_variables.styl @@ -0,0 +1,63 @@ +// Config +support-for-ie = false +vendor-prefixes = webkit moz ms official + +// Colors +color-default = #555 +color-grey = #999 +color-border = #ddd +color-link = #258fb8 +color-background = #eee +color-sidebar-text = #777 +color-widget-background = #ddd +color-widget-border = #ccc +color-footer-background = #262a30 +color-mobile-nav-background = #191919 +color-twitter = #00aced +color-facebook = #3b5998 +color-pinterest = #cb2027 +color-google = #dd4b39 + +// Fonts +font-sans = -apple-system, BlinkMacSystemFont, + "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", + "Fira Sans", "Droid Sans", "Helvetica Neue", + sans-serif +font-serif = Georgia, "Times New Roman", serif +font-mono = "Source Code Pro", Consolas, Monaco, Menlo, Consolas, monospace +font-icon = FontAwesome +font-icon-path = "fonts/fontawesome-webfont" +font-icon-version = "4.0.3" +font-size = 14px +line-height = 1.6em +line-height-title = 1.1em + +// Header +logo-size = 40px +subtitle-size = 16px +banner-height = 300px +banner-url = "images/banner.jpg" + +sidebar = hexo-config("sidebar") + +// Layout +block-margin = 50px +article-padding = 20px +mobile-nav-width = 280px +main-column = 9 +sidebar-column = 3 + +if sidebar and sidebar isnt bottom + _sidebar-column = sidebar-column +else + _sidebar-column = 0 + +// Grids +column-width = 80px +gutter-width = 20px +columns = main-column + _sidebar-column + +// Media queries +mq-mobile = "screen and (max-width: 479px)" +mq-tablet = "screen and (min-width: 480px) and (max-width: 767px)" +mq-normal = "screen and (min-width: 768px)" \ No newline at end of file diff --git a/themes/landscape/source/css/fonts/FontAwesome.otf b/themes/landscape/source/css/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..8b0f54e47e1d356dcf1496942a50e228e0f1ee14 GIT binary patch literal 62856 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