Fix website build
|
@ -20,9 +20,9 @@ steps:
|
||||||
yarn build
|
yarn build
|
||||||
displayName: 'build'
|
displayName: 'build'
|
||||||
|
|
||||||
# - script: |
|
- script: |
|
||||||
# yarn build:docs
|
yarn build:docs
|
||||||
# displayName: 'build docs'
|
displayName: 'build docs'
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
yarn test
|
yarn test
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"app":["/app-d9eadcd630e899135061.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["/component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-00e3f891e8d1c5d854f5.js"],"component---src-pages-index-jsx":["/component---src-pages-index-jsx-997bcea50dab606a489d.js"],"component---src-pages-404-jsx":["/component---src-pages-404-jsx-5d8acd7e1a280c04bd8c.js"]}
|
{"app":["/app-71f90dee2e80ef8b8c99.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["/component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js"],"component---src-templates-doc-jsx":["/component---src-templates-doc-jsx-1e1adcf6afd9e8127e9c.js"],"component---src-pages-index-jsx":["/component---src-pages-index-jsx-0d7659e39c61f169a098.js"],"component---src-pages-404-jsx":["/component---src-pages-404-jsx-16ee1cc06aad390e8d02.js"]}
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///C:/Users/Jason/src/flamegrill/node_modules/gatsby-plugin-offline/app-shell.js"],"names":["_interopRequireDefault","require","exports","__esModule","_inheritsLoose2","_react","_default","_React$Component","AppShell","apply","this","arguments","prototype","render","createElement","Fragment","Component"],"mappings":"0FAEA,IAAIA,EAAyBC,EAAQ,IAErCC,EAAQC,YAAa,EACrBD,EAAO,aAAc,EAErB,IAAIE,EAAkBJ,EAAuBC,EAAQ,KAEjDI,EAASL,EAAuBC,EAAQ,IAoBxCK,EAhBJ,SAAUC,GAGR,SAASC,IACP,OAAOD,EAAiBE,MAAMC,KAAMC,YAAcD,KASpD,OAZA,EAAIN,EAAe,SAAaI,EAAUD,GAM7BC,EAASI,UAEfC,OAAS,WACd,OAAOR,EAAM,QAAYS,cAAcT,EAAM,QAAYU,SAAU,OAG9DP,EAbT,CAcEH,EAAM,QAAYW,WAGpBd,EAAO,QAAcI","file":"component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar AppShell =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(AppShell, _React$Component);\n\n function AppShell() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = AppShell.prototype;\n\n _proto.render = function render() {\n return _react[\"default\"].createElement(_react[\"default\"].Fragment, null);\n };\n\n return AppShell;\n}(_react[\"default\"].Component);\n\nvar _default = AppShell;\nexports[\"default\"] = _default;"],"sourceRoot":""}
|
|
|
@ -1,2 +1,2 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{219:function(e,t,n){"use strict";var u=n(20);t.__esModule=!0,t.default=void 0;var o=u(n(80)),r=u(n(0)),a=function(e){function t(){return e.apply(this,arguments)||this}return(0,o.default)(t,e),t.prototype.render=function(){return r.default.createElement(r.default.Fragment,null)},t}(r.default.Component);t.default=a}}]);
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{218:function(e,t,n){"use strict";var u=n(20);t.__esModule=!0,t.default=void 0;var o=u(n(80)),r=u(n(0)),a=function(e){function t(){return e.apply(this,arguments)||this}return(0,o.default)(t,e),t.prototype.render=function(){return r.default.createElement(r.default.Fragment,null)},t}(r.default.Component);t.default=a}}]);
|
||||||
//# sourceMappingURL=component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js.map
|
//# sourceMappingURL=component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js.map
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"sources":["webpack:////home/elizabeth/flamegrill/node_modules/gatsby-plugin-offline/app-shell.js"],"names":["_interopRequireDefault","require","exports","__esModule","_inheritsLoose2","_react","_default","_React$Component","AppShell","apply","this","arguments","prototype","render","createElement","Fragment","Component"],"mappings":"0FAEA,IAAIA,EAAyBC,EAAQ,IAErCC,EAAQC,YAAa,EACrBD,EAAO,aAAc,EAErB,IAAIE,EAAkBJ,EAAuBC,EAAQ,KAEjDI,EAASL,EAAuBC,EAAQ,IAoBxCK,EAhBJ,SAAUC,GAGR,SAASC,IACP,OAAOD,EAAiBE,MAAMC,KAAMC,YAAcD,KASpD,OAZA,EAAIN,EAAe,SAAaI,EAAUD,GAM7BC,EAASI,UAEfC,OAAS,WACd,OAAOR,EAAM,QAAYS,cAAcT,EAAM,QAAYU,SAAU,OAG9DP,EAbT,CAcEH,EAAM,QAAYW,WAGpBd,EAAO,QAAcI","file":"component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports[\"default\"] = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar AppShell =\n/*#__PURE__*/\nfunction (_React$Component) {\n (0, _inheritsLoose2[\"default\"])(AppShell, _React$Component);\n\n function AppShell() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = AppShell.prototype;\n\n _proto.render = function render() {\n return _react[\"default\"].createElement(_react[\"default\"].Fragment, null);\n };\n\n return AppShell;\n}(_react[\"default\"].Component);\n\nvar _default = AppShell;\nexports[\"default\"] = _default;"],"sourceRoot":""}
|
|
@ -0,0 +1,2 @@
|
||||||
|
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{219:function(n,e,o){"use strict";o.r(e);var t=o(0),u=o.n(t);e.default=function(){return u.a.createElement("div",null,"no found page eh")}}}]);
|
||||||
|
//# sourceMappingURL=component---src-pages-404-jsx-16ee1cc06aad390e8d02.js.map
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"sources":["webpack:///./src/pages/404.jsx"],"names":[],"mappings":"0FAAA,2BAEe,qBACb,OAAO","file":"component---src-pages-404-jsx-16ee1cc06aad390e8d02.js","sourcesContent":["import React from 'react'\n\nexport default () => {\n return <div>no found page eh</div>\n}\n"],"sourceRoot":""}
|
|
@ -1,2 +0,0 @@
|
||||||
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{220:function(n,e,o){"use strict";o.r(e);var t=o(0),u=o.n(t);e.default=function(){return u.a.createElement("div",null,"no found page eh")}}}]);
|
|
||||||
//# sourceMappingURL=component---src-pages-404-jsx-5d8acd7e1a280c04bd8c.js.map
|
|
|
@ -1 +0,0 @@
|
||||||
{"version":3,"sources":["webpack:///./src/pages/404.jsx"],"names":[],"mappings":"0FAAA,2BAEe,qBACb,OAAO","file":"component---src-pages-404-jsx-5d8acd7e1a280c04bd8c.js","sourcesContent":["import React from 'react'\r\n\r\nexport default () => {\r\n return <div>no found page eh</div>\r\n}\r\n"],"sourceRoot":""}
|
|
|
@ -1 +1 @@
|
||||||
{"componentChunkName":"component---src-pages-404-jsx","path":"/404.html","webpackCompilationHash":"c67ff157f7629e7dfc7f","result":{"pageContext":{"isCreatedByStatefulCreatePages":true}}}
|
{"componentChunkName":"component---src-pages-404-jsx","path":"/404.html","webpackCompilationHash":"cb7475d3ce9a19efe9b0","result":{"pageContext":{"isCreatedByStatefulCreatePages":true}}}
|
|
@ -1 +1 @@
|
||||||
{"componentChunkName":"component---src-pages-404-jsx","path":"/404","webpackCompilationHash":"c67ff157f7629e7dfc7f","result":{"pageContext":{"isCreatedByStatefulCreatePages":true}}}
|
{"componentChunkName":"component---src-pages-404-jsx","path":"/404","webpackCompilationHash":"cb7475d3ce9a19efe9b0","result":{"pageContext":{"isCreatedByStatefulCreatePages":true}}}
|
|
@ -1 +1 @@
|
||||||
{"componentChunkName":"component---src-pages-index-jsx","path":"/","webpackCompilationHash":"c67ff157f7629e7dfc7f","result":{"data":{"allMarkdown":{"edges":[{"node":{"fields":{"slug":"/cook"},"excerpt":"Cook a page to generate flamegraph output. Optionally, provide a baseline URL and perform a regression analysis. Options name for given…","frontmatter":{"title":"cook"}}},{"node":{"fields":{"slug":"/getting-started"},"excerpt":"This example creates a basic app from scratch, adds an artificial bottleneck to it, and then shows you how to configure the build and run…","frontmatter":{"title":"Getting Started"}}},{"node":{"fields":{"slug":"/installation"},"excerpt":"There are a few options for installing . Option 1: No Install Thanks to , you can use without any installation: However, as flamegrill has…","frontmatter":{"title":"Installation"}}}]}},"pageContext":{"isCreatedByStatefulCreatePages":true}}}
|
{"componentChunkName":"component---src-pages-index-jsx","path":"/","webpackCompilationHash":"cb7475d3ce9a19efe9b0","result":{"data":{"allMarkdown":{"edges":[{"node":{"fields":{"slug":"/cook"},"excerpt":"Cook a page to generate flamegraph output. Optionally, provide a baseline URL and perform a regression analysis. Options name for given…","frontmatter":{"title":"cook"}}},{"node":{"fields":{"slug":"/getting-started"},"excerpt":"This example creates a basic app from scratch, adds an artificial bottleneck to it, and then shows you how to configure the build and run…","frontmatter":{"title":"Getting Started"}}},{"node":{"fields":{"slug":"/installation"},"excerpt":"There are a few options for installing . Option 1: No Install Thanks to , you can use without any installation: However, as flamegrill has…","frontmatter":{"title":"Installation"}}}]}},"pageContext":{"isCreatedByStatefulCreatePages":true}}}
|
|
@ -1 +1 @@
|
||||||
{"componentChunkName":"component---src-templates-doc-jsx","path":"/installation","webpackCompilationHash":"c67ff157f7629e7dfc7f","result":{"data":{"postBySlug":{"html":"<p>There are a few options for installing <code class=\"language-text\">flamegrill</code>.</p>\n<h3 id=\"option-1-no-install\"><a href=\"#option-1-no-install\" aria-label=\"option 1 no install permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Option 1: No Install</h3>\n<p>Thanks to <code class=\"language-text\">npx</code>, you can use <code class=\"language-text\">flamegrill</code> without any installation:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">npx flamegrill --help</code></pre></div>\n<p>However, as flamegrill has some pretty weighty dependencies such as a puppeteer, which downloads a version of Chrome, it's recommended you install it locally.</p>\n<h3 id=\"option-2-install-and-run-globally-manual-testing\"><a href=\"#option-2-install-and-run-globally-manual-testing\" aria-label=\"option 2 install and run globally manual testing permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Option 2: Install and Run Globally (Manual Testing)</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> -g flamegrill</code></pre></div>\n<h3 id=\"option-3-install-as-package-dependency-automated-testing\"><a href=\"#option-3-install-as-package-dependency-automated-testing\" aria-label=\"option 3 install as package dependency automated testing permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Option 3: Install as Package Dependency (Automated Testing)</h3>\n<p>To get started, place this in the <code class=\"language-text\">devDependencies</code> section of your <code class=\"language-text\">package.json</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> -D flamegrill</code></pre></div>\n<p>or for yarn users:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">yarn</span> <span class=\"token function\">add</span> -D flamegrill</code></pre></div>","frontmatter":{"title":"Installation"}},"tableOfContents":{"chapters":[{"title":"Overview","entries":[{"entry":{"id":"db2e96b8-3d70-5497-8d4e-15a6d2a2829a","childMarkdownRemark":{"fields":{"slug":"/getting-started"},"frontmatter":{"title":"Getting Started"}}}},{"entry":{"id":"37b4034e-1b86-523c-a1d4-32747291086e","childMarkdownRemark":{"fields":{"slug":"/installation"},"frontmatter":{"title":"Installation"}}}}]},{"title":"CLI Reference","entries":[{"entry":{"id":"66490fcb-1750-5895-8da0-388f0b2d4251","childMarkdownRemark":{"fields":{"slug":"/cook"},"frontmatter":{"title":"cook"}}}}]}]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/installation"}}}
|
{"componentChunkName":"component---src-templates-doc-jsx","path":"/installation","webpackCompilationHash":"cb7475d3ce9a19efe9b0","result":{"data":{"postBySlug":{"html":"<p>There are a few options for installing <code class=\"language-text\">flamegrill</code>.</p>\n<h3 id=\"option-1-no-install\"><a href=\"#option-1-no-install\" aria-label=\"option 1 no install permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Option 1: No Install</h3>\n<p>Thanks to <code class=\"language-text\">npx</code>, you can use <code class=\"language-text\">flamegrill</code> without any installation:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">npx flamegrill --help</code></pre></div>\n<p>However, as flamegrill has some pretty weighty dependencies such as a puppeteer, which downloads a version of Chrome, it's recommended you install it locally.</p>\n<h3 id=\"option-2-install-and-run-globally-manual-testing\"><a href=\"#option-2-install-and-run-globally-manual-testing\" aria-label=\"option 2 install and run globally manual testing permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Option 2: Install and Run Globally (Manual Testing)</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> -g flamegrill</code></pre></div>\n<h3 id=\"option-3-install-as-package-dependency-automated-testing\"><a href=\"#option-3-install-as-package-dependency-automated-testing\" aria-label=\"option 3 install as package dependency automated testing permalink\" class=\"anchor\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Option 3: Install as Package Dependency (Automated Testing)</h3>\n<p>To get started, place this in the <code class=\"language-text\">devDependencies</code> section of your <code class=\"language-text\">package.json</code>:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">npm</span> <span class=\"token function\">install</span> -D flamegrill</code></pre></div>\n<p>or for yarn users:</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">yarn</span> <span class=\"token function\">add</span> -D flamegrill</code></pre></div>","frontmatter":{"title":"Installation"}},"tableOfContents":{"chapters":[{"title":"Overview","entries":[{"entry":{"id":"02170d78-20d5-5d28-bff0-983e2ba5bbcc","childMarkdownRemark":{"fields":{"slug":"/getting-started"},"frontmatter":{"title":"Getting Started"}}}},{"entry":{"id":"76ceda9a-9b08-5073-81eb-a00f91fac063","childMarkdownRemark":{"fields":{"slug":"/installation"},"frontmatter":{"title":"Installation"}}}}]},{"title":"CLI Reference","entries":[{"entry":{"id":"9dfd285a-389e-5c3f-8c10-95e1f3461556","childMarkdownRemark":{"fields":{"slug":"/cook"},"frontmatter":{"title":"cook"}}}}]}]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"slug":"/installation"}}}
|
|
@ -1 +1 @@
|
||||||
{"componentChunkName":"component---node-modules-gatsby-plugin-offline-app-shell-js","path":"/offline-plugin-app-shell-fallback","webpackCompilationHash":"c67ff157f7629e7dfc7f","result":{"pageContext":{"isCreatedByStatefulCreatePages":false}}}
|
{"componentChunkName":"component---node-modules-gatsby-plugin-offline-app-shell-js","path":"/offline-plugin-app-shell-fallback","webpackCompilationHash":"cb7475d3ce9a19efe9b0","result":{"pageContext":{"isCreatedByStatefulCreatePages":false}}}
|
До Ширина: | Высота: | Размер: 17 KiB После Ширина: | Высота: | Размер: 17 KiB |
До Ширина: | Высота: | Размер: 9.6 KiB После Ширина: | Высота: | Размер: 9.4 KiB |
До Ширина: | Высота: | Размер: 1.3 KiB После Ширина: | Высота: | Размер: 1.2 KiB |
До Ширина: | Высота: | Размер: 12 KiB После Ширина: | Высота: | Размер: 11 KiB |
До Ширина: | Высота: | Размер: 3.3 KiB После Ширина: | Высота: | Размер: 3.8 KiB |
16
docs/sw.js
|
@ -26,27 +26,27 @@ workbox.clientsClaim();
|
||||||
*/
|
*/
|
||||||
self.__precacheManifest = [
|
self.__precacheManifest = [
|
||||||
{
|
{
|
||||||
"url": "webpack-runtime-b80d0d5590d83faf7fb5.js"
|
"url": "webpack-runtime-eaa0f2dfc29d266f5c15.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "commons.c4bc147484ae894cfd61.css"
|
"url": "commons.7be623a29cdf334e0cba.css"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "commons-60400f7e118cd7b6626c.js"
|
"url": "commons-382e883493a00d179b6f.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "app-d9eadcd630e899135061.js"
|
"url": "app-71f90dee2e80ef8b8c99.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js"
|
"url": "component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "offline-plugin-app-shell-fallback/index.html",
|
"url": "offline-plugin-app-shell-fallback/index.html",
|
||||||
"revision": "5276cd5b631e7cef76ff40659b2207ce"
|
"revision": "e5a47d8afd71f5a4e093e96e19101a2c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "page-data/offline-plugin-app-shell-fallback/page-data.json",
|
"url": "page-data/offline-plugin-app-shell-fallback/page-data.json",
|
||||||
"revision": "f5ee614e5cb2bdc96309bcc5d53b4ac7"
|
"revision": "c5c18bf0340c224bfa65408a3ab44f45"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"url": "manifest.webmanifest",
|
"url": "manifest.webmanifest",
|
||||||
|
@ -74,7 +74,7 @@ const navigationRoute = new NavigationRoute(async ({ event }) => {
|
||||||
// Check for resources + the app bundle
|
// Check for resources + the app bundle
|
||||||
// The latter may not exist if the SW is updating to a new version
|
// The latter may not exist if the SW is updating to a new version
|
||||||
const resources = await idbKeyval.get(`resources:${pathname}`)
|
const resources = await idbKeyval.get(`resources:${pathname}`)
|
||||||
if (!resources || !(await caches.match(`/flamegrill/app-d9eadcd630e899135061.js`))) {
|
if (!resources || !(await caches.match(`/flamegrill/app-71f90dee2e80ef8b8c99.js`))) {
|
||||||
return await fetch(event.request)
|
return await fetch(event.request)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
!function(e){function r(r){for(var n,u,c=r[0],i=r[1],l=r[2],s=0,f=[];s<c.length;s++)u=c[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&f.push(o[u][0]),o[u]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(p&&p(r);f.length;)f.shift()();return a.push.apply(a,l||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,c=1;c<t.length;c++){var i=t[c];0!==o[i]&&(n=!1)}n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={6:0},a=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,u.nc&&c.setAttribute("nonce",u.nc),c.src=function(e){return u.p+""+({2:"component---node-modules-gatsby-plugin-offline-app-shell-js",3:"component---src-pages-404-jsx",4:"component---src-pages-index-jsx",5:"component---src-templates-doc-jsx"}[e]||e)+"-"+{2:"a7eb68fab5785ceac4de",3:"5d8acd7e1a280c04bd8c",4:"997bcea50dab606a489d",5:"00e3f891e8d1c5d854f5"}[e]+".js"}(e);var i=new Error;a=function(r){c.onerror=c.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,t[1](i)}o[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="/flamegrill/",u.oe=function(e){throw console.error(e),e};var c=window.webpackJsonp=window.webpackJsonp||[],i=c.push.bind(c);c.push=r,c=c.slice();for(var l=0;l<c.length;l++)r(c[l]);var p=i;t()}([]);
|
!function(e){function r(r){for(var n,u,c=r[0],i=r[1],l=r[2],s=0,f=[];s<c.length;s++)u=c[s],Object.prototype.hasOwnProperty.call(o,u)&&o[u]&&f.push(o[u][0]),o[u]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(p&&p(r);f.length;)f.shift()();return a.push.apply(a,l||[]),t()}function t(){for(var e,r=0;r<a.length;r++){for(var t=a[r],n=!0,c=1;c<t.length;c++){var i=t[c];0!==o[i]&&(n=!1)}n&&(a.splice(r--,1),e=u(u.s=t[0]))}return e}var n={},o={6:0},a=[];function u(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,u),t.l=!0,t.exports}u.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var a,c=document.createElement("script");c.charset="utf-8",c.timeout=120,u.nc&&c.setAttribute("nonce",u.nc),c.src=function(e){return u.p+""+({2:"component---node-modules-gatsby-plugin-offline-app-shell-js",3:"component---src-pages-404-jsx",4:"component---src-pages-index-jsx",5:"component---src-templates-doc-jsx"}[e]||e)+"-"+{2:"d2399568d871c4933ad4",3:"16ee1cc06aad390e8d02",4:"0d7659e39c61f169a098",5:"1e1adcf6afd9e8127e9c"}[e]+".js"}(e);var i=new Error;a=function(r){c.onerror=c.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,t[1](i)}o[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:c})}),12e4);c.onerror=c.onload=a,document.head.appendChild(c)}return Promise.all(r)},u.m=e,u.c=n,u.d=function(e,r,t){u.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,r){if(1&r&&(e=u(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(u.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)u.d(t,n,function(r){return e[r]}.bind(null,n));return t},u.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(r,"a",r),r},u.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},u.p="/flamegrill/",u.oe=function(e){throw console.error(e),e};var c=window.webpackJsonp=window.webpackJsonp||[],i=c.push.bind(c);c.push=r,c=c.slice();for(var l=0;l<c.length;l++)r(c[l]);var p=i;t()}([]);
|
||||||
//# sourceMappingURL=webpack-runtime-b80d0d5590d83faf7fb5.js.map
|
//# sourceMappingURL=webpack-runtime-eaa0f2dfc29d266f5c15.js.map
|
|
@ -1 +1 @@
|
||||||
{"errors":[],"warnings":[],"namedChunkGroups":{"app":{"chunks":[6,0,1],"assets":["webpack-runtime-b80d0d5590d83faf7fb5.js","webpack-runtime-b80d0d5590d83faf7fb5.js.map","commons.c4bc147484ae894cfd61.css","commons-60400f7e118cd7b6626c.js","commons-60400f7e118cd7b6626c.js.map","app-d9eadcd630e899135061.js","app-d9eadcd630e899135061.js.map"],"children":{},"childAssets":{}},"component---node-modules-gatsby-plugin-offline-app-shell-js":{"chunks":[2],"assets":["component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js","component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js.map"],"children":{},"childAssets":{}},"component---src-templates-doc-jsx":{"chunks":[0,5],"assets":["commons.c4bc147484ae894cfd61.css","commons-60400f7e118cd7b6626c.js","commons-60400f7e118cd7b6626c.js.map","component---src-templates-doc-jsx-00e3f891e8d1c5d854f5.js","component---src-templates-doc-jsx-00e3f891e8d1c5d854f5.js.map"],"children":{},"childAssets":{}},"component---src-pages-index-jsx":{"chunks":[0,4],"assets":["commons.c4bc147484ae894cfd61.css","commons-60400f7e118cd7b6626c.js","commons-60400f7e118cd7b6626c.js.map","component---src-pages-index-jsx-997bcea50dab606a489d.js","component---src-pages-index-jsx-997bcea50dab606a489d.js.map"],"children":{},"childAssets":{}},"component---src-pages-404-jsx":{"chunks":[3],"assets":["component---src-pages-404-jsx-5d8acd7e1a280c04bd8c.js","component---src-pages-404-jsx-5d8acd7e1a280c04bd8c.js.map"],"children":{},"childAssets":{}}},"assetsByChunkName":{"app":["webpack-runtime-b80d0d5590d83faf7fb5.js","commons.c4bc147484ae894cfd61.css","commons-60400f7e118cd7b6626c.js","app-d9eadcd630e899135061.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["component---node-modules-gatsby-plugin-offline-app-shell-js-a7eb68fab5785ceac4de.js"],"component---src-templates-doc-jsx":["commons.c4bc147484ae894cfd61.css","commons-60400f7e118cd7b6626c.js","component---src-templates-doc-jsx-00e3f891e8d1c5d854f5.js"],"component---src-pages-index-jsx":["commons.c4bc147484ae894cfd61.css","commons-60400f7e118cd7b6626c.js","component---src-pages-index-jsx-997bcea50dab606a489d.js"],"component---src-pages-404-jsx":["component---src-pages-404-jsx-5d8acd7e1a280c04bd8c.js"]}}
|
{"errors":[],"warnings":[],"namedChunkGroups":{"app":{"chunks":[6,0,1],"assets":["webpack-runtime-eaa0f2dfc29d266f5c15.js","webpack-runtime-eaa0f2dfc29d266f5c15.js.map","commons.7be623a29cdf334e0cba.css","commons-382e883493a00d179b6f.js","commons-382e883493a00d179b6f.js.map","app-71f90dee2e80ef8b8c99.js","app-71f90dee2e80ef8b8c99.js.map"],"children":{},"childAssets":{}},"component---node-modules-gatsby-plugin-offline-app-shell-js":{"chunks":[2],"assets":["component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js","component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js.map"],"children":{},"childAssets":{}},"component---src-templates-doc-jsx":{"chunks":[0,5],"assets":["commons.7be623a29cdf334e0cba.css","commons-382e883493a00d179b6f.js","commons-382e883493a00d179b6f.js.map","component---src-templates-doc-jsx-1e1adcf6afd9e8127e9c.js","component---src-templates-doc-jsx-1e1adcf6afd9e8127e9c.js.map"],"children":{},"childAssets":{}},"component---src-pages-index-jsx":{"chunks":[0,4],"assets":["commons.7be623a29cdf334e0cba.css","commons-382e883493a00d179b6f.js","commons-382e883493a00d179b6f.js.map","component---src-pages-index-jsx-0d7659e39c61f169a098.js","component---src-pages-index-jsx-0d7659e39c61f169a098.js.map"],"children":{},"childAssets":{}},"component---src-pages-404-jsx":{"chunks":[3],"assets":["component---src-pages-404-jsx-16ee1cc06aad390e8d02.js","component---src-pages-404-jsx-16ee1cc06aad390e8d02.js.map"],"children":{},"childAssets":{}}},"assetsByChunkName":{"app":["webpack-runtime-eaa0f2dfc29d266f5c15.js","commons.7be623a29cdf334e0cba.css","commons-382e883493a00d179b6f.js","app-71f90dee2e80ef8b8c99.js"],"component---node-modules-gatsby-plugin-offline-app-shell-js":["component---node-modules-gatsby-plugin-offline-app-shell-js-d2399568d871c4933ad4.js"],"component---src-templates-doc-jsx":["commons.7be623a29cdf334e0cba.css","commons-382e883493a00d179b6f.js","component---src-templates-doc-jsx-1e1adcf6afd9e8127e9c.js"],"component---src-pages-index-jsx":["commons.7be623a29cdf334e0cba.css","commons-382e883493a00d179b6f.js","component---src-pages-index-jsx-0d7659e39c61f169a098.js"],"component---src-pages-404-jsx":["component---src-pages-404-jsx-16ee1cc06aad390e8d02.js"]}}
|
|
@ -1,15 +0,0 @@
|
||||||
import React, { Component } from 'react'
|
|
||||||
|
|
||||||
class About extends Component {
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<div className="about">
|
|
||||||
<h1>
|
|
||||||
Edit About component or pages/about.jsx to include your information.
|
|
||||||
</h1>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default About
|
|
|
@ -1,44 +0,0 @@
|
||||||
import React, { Component } from 'react'
|
|
||||||
import ReactDisqusComments from 'react-disqus-comments'
|
|
||||||
import config from '../../../data/SiteConfig'
|
|
||||||
|
|
||||||
class Disqus extends Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props)
|
|
||||||
this.state = {
|
|
||||||
toasts: []
|
|
||||||
}
|
|
||||||
this.notifyAboutComment = this.notifyAboutComment.bind(this)
|
|
||||||
this.onSnackbarDismiss = this.onSnackbarDismiss.bind(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
onSnackbarDismiss() {
|
|
||||||
const [, ...toasts] = this.state.toasts
|
|
||||||
this.setState({ toasts })
|
|
||||||
}
|
|
||||||
notifyAboutComment() {
|
|
||||||
const toasts = this.state.toasts.slice()
|
|
||||||
toasts.push({ text: 'New comment available!' })
|
|
||||||
this.setState({ toasts })
|
|
||||||
}
|
|
||||||
render() {
|
|
||||||
const { postNode } = this.props
|
|
||||||
if (!config.disqusShortname) {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
const post = postNode.frontmatter
|
|
||||||
const url = config.siteUrl + config.pathPrefix + postNode.fields.slug
|
|
||||||
return (
|
|
||||||
<ReactDisqusComments
|
|
||||||
shortname={config.disqusShortname}
|
|
||||||
identifier={post.title}
|
|
||||||
title={post.title}
|
|
||||||
url={url}
|
|
||||||
category_id={post.category_id}
|
|
||||||
onNewComment={this.notifyAboutComment}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Disqus
|
|
|
@ -1,21 +0,0 @@
|
||||||
import React from 'react'
|
|
||||||
import styled from 'styled-components'
|
|
||||||
|
|
||||||
import PostListing from '../PostListing/PostListing'
|
|
||||||
|
|
||||||
const Container = styled.div`
|
|
||||||
padding: ${props => props.theme.sitePadding};
|
|
||||||
`
|
|
||||||
|
|
||||||
class Body extends React.Component {
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<Container>
|
|
||||||
<h1>Body</h1>
|
|
||||||
<PostListing />
|
|
||||||
</Container>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Body
|
|
|
@ -1,13 +0,0 @@
|
||||||
import React from 'react'
|
|
||||||
|
|
||||||
class Footer extends React.Component {
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<section>
|
|
||||||
<h1>Footer</h1>
|
|
||||||
</section>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Footer
|
|
|
@ -1,34 +0,0 @@
|
||||||
import React from 'react'
|
|
||||||
import Link from 'gatsby-link'
|
|
||||||
|
|
||||||
class PostListing extends React.Component {
|
|
||||||
getPostList() {
|
|
||||||
const postList = []
|
|
||||||
this.props.postEdges.forEach(postEdge => {
|
|
||||||
postList.push({
|
|
||||||
path: postEdge.node.fields.slug,
|
|
||||||
tags: postEdge.node.frontmatter.tags,
|
|
||||||
cover: postEdge.node.frontmatter.cover,
|
|
||||||
title: postEdge.node.frontmatter.title,
|
|
||||||
date: postEdge.node.frontmatter.date,
|
|
||||||
excerpt: postEdge.node.excerpt
|
|
||||||
})
|
|
||||||
})
|
|
||||||
return postList
|
|
||||||
}
|
|
||||||
render() {
|
|
||||||
const postList = this.getPostList()
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{/* Your post list here. */
|
|
||||||
postList.map(post => (
|
|
||||||
<Link to={post.path} key={post.title}>
|
|
||||||
<h1>{post.title}</h1>
|
|
||||||
</Link>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default PostListing
|
|
|
@ -1,25 +0,0 @@
|
||||||
import React, { Component } from 'react'
|
|
||||||
import _ from 'lodash'
|
|
||||||
import Link from 'gatsby-link'
|
|
||||||
|
|
||||||
class PostTags extends Component {
|
|
||||||
render() {
|
|
||||||
const { tags } = this.props
|
|
||||||
return (
|
|
||||||
<div className="post-tag-container">
|
|
||||||
{tags &&
|
|
||||||
tags.map(tag => (
|
|
||||||
<Link
|
|
||||||
key={tag}
|
|
||||||
style={{ textDecoration: 'none' }}
|
|
||||||
to={`/tags/${_.kebabCase(tag)}`}
|
|
||||||
>
|
|
||||||
<button>{tag}</button>
|
|
||||||
</Link>
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default PostTags
|
|
|
@ -1,17 +0,0 @@
|
||||||
.social-links {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: center;
|
|
||||||
align-content: center;
|
|
||||||
align-items: center;
|
|
||||||
margin: 15px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-links > div {
|
|
||||||
margin: 5px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.share-count {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
|
@ -1,81 +0,0 @@
|
||||||
import React, { Component } from 'react'
|
|
||||||
import { ShareButtons, ShareCounts, generateShareIcon } from 'react-share'
|
|
||||||
import config from '../../../data/SiteConfig'
|
|
||||||
import './SocialLinks.css'
|
|
||||||
|
|
||||||
class SocialLinks extends Component {
|
|
||||||
render() {
|
|
||||||
const { postNode, postPath, mobile } = this.props
|
|
||||||
const post = postNode.frontmatter
|
|
||||||
const url = config.siteUrl + config.pathPrefix + postPath
|
|
||||||
const {
|
|
||||||
FacebookShareButton,
|
|
||||||
GooglePlusShareButton,
|
|
||||||
LinkedinShareButton,
|
|
||||||
TwitterShareButton,
|
|
||||||
TelegramShareButton,
|
|
||||||
RedditShareButton
|
|
||||||
} = ShareButtons
|
|
||||||
const {
|
|
||||||
FacebookShareCount,
|
|
||||||
GooglePlusShareCount,
|
|
||||||
LinkedinShareCount,
|
|
||||||
RedditShareCount
|
|
||||||
} = ShareCounts
|
|
||||||
|
|
||||||
const FacebookIcon = generateShareIcon('facebook')
|
|
||||||
const TwitterIcon = generateShareIcon('twitter')
|
|
||||||
const TelegramIcon = generateShareIcon('telegram')
|
|
||||||
const GooglePlusIcon = generateShareIcon('google')
|
|
||||||
const LinkedinIcon = generateShareIcon('linkedin')
|
|
||||||
const RedditIcon = generateShareIcon('reddit')
|
|
||||||
const iconSize = mobile ? 36 : 48
|
|
||||||
const filter = count => (count > 0 ? count : '')
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className="social-links">
|
|
||||||
<RedditShareButton url={url} title={post.title}>
|
|
||||||
<RedditIcon round size={iconSize} />
|
|
||||||
<RedditShareCount url={url}>
|
|
||||||
{count => <div className="share-count">{filter(count)}</div>}
|
|
||||||
</RedditShareCount>
|
|
||||||
</RedditShareButton>
|
|
||||||
<TwitterShareButton url={url} title={post.title}>
|
|
||||||
<TwitterIcon round size={iconSize} />
|
|
||||||
</TwitterShareButton>
|
|
||||||
<GooglePlusShareButton url={url}>
|
|
||||||
<GooglePlusIcon round size={iconSize} />
|
|
||||||
<GooglePlusShareCount url={url}>
|
|
||||||
{count => <div className="share-count">{filter(count)}</div>}
|
|
||||||
</GooglePlusShareCount>
|
|
||||||
</GooglePlusShareButton>
|
|
||||||
<FacebookShareButton
|
|
||||||
url={url}
|
|
||||||
title={post.title}
|
|
||||||
picture={post.cover}
|
|
||||||
description={postNode.excerpt}
|
|
||||||
>
|
|
||||||
<FacebookIcon round size={iconSize} />
|
|
||||||
<FacebookShareCount url={url}>
|
|
||||||
{count => <div className="share-count">{filter(count)}</div>}
|
|
||||||
</FacebookShareCount>
|
|
||||||
</FacebookShareButton>
|
|
||||||
<LinkedinShareButton
|
|
||||||
url={url}
|
|
||||||
title={post.title}
|
|
||||||
description={postNode.excerpt}
|
|
||||||
>
|
|
||||||
<LinkedinIcon round size={iconSize} />
|
|
||||||
<LinkedinShareCount url={url}>
|
|
||||||
{count => <div className="share-count">{filter(count)}</div>}
|
|
||||||
</LinkedinShareCount>
|
|
||||||
</LinkedinShareButton>
|
|
||||||
<TelegramShareButton url={url}>
|
|
||||||
<TelegramIcon round size={iconSize} />
|
|
||||||
</TelegramShareButton>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default SocialLinks
|
|
|
@ -1,17 +0,0 @@
|
||||||
import React, { Component } from 'react'
|
|
||||||
import { Follow } from 'react-twitter-widgets'
|
|
||||||
|
|
||||||
class UserInfo extends Component {
|
|
||||||
render() {
|
|
||||||
const { userTwitter } = this.props.config
|
|
||||||
const { expanded } = this.props
|
|
||||||
return (
|
|
||||||
<Follow
|
|
||||||
username={userTwitter}
|
|
||||||
options={{ count: expanded ? true : 'none' }}
|
|
||||||
/>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default UserInfo
|
|
|
@ -15,8 +15,8 @@ export default class HTML extends React.Component {
|
||||||
content="width=device-width, initial-scale=1.0"
|
content="width=device-width, initial-scale=1.0"
|
||||||
/>
|
/>
|
||||||
{this.props.headComponents}
|
{this.props.headComponents}
|
||||||
<link rel="shortcut icon" href={favicon} type="image/x-icon">
|
<link rel="shortcut icon" href={favicon} type="image/x-icon" />
|
||||||
<link rel="icon" href={favicon} type="image/x-icon">
|
<link rel="icon" href={favicon} type="image/x-icon" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div
|
<div
|
||||||
|
|
|
@ -2,8 +2,6 @@ import { graphql } from 'gatsby';
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Helmet from 'react-helmet';
|
import Helmet from 'react-helmet';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { FaSync, FaRobot, FaNewspaper, FaCheckDouble, FaTerminal } from 'react-icons/fa';
|
|
||||||
import { DiGitBranch } from 'react-icons/di';
|
|
||||||
|
|
||||||
import config from '../../data/SiteConfig';
|
import config from '../../data/SiteConfig';
|
||||||
import CtaButton from '../components/CtaButton';
|
import CtaButton from '../components/CtaButton';
|
||||||
|
@ -55,28 +53,6 @@ const IndexContainer = styled.div`
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const FeatureRow = styled.div`
|
|
||||||
display: flex;
|
|
||||||
justify-content: stretch;
|
|
||||||
margin: 40px 0;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const Feature = styled.div`
|
|
||||||
flex: 1;
|
|
||||||
font-size: 1.4rem;
|
|
||||||
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
& h4 {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
margin-right: 25px;
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
|
|
||||||
const LogoRow = styled.div`
|
const LogoRow = styled.div`
|
||||||
display: flex;
|
display: flex;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
@ -106,24 +82,6 @@ const Hero = styled.div`
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const BodyContainer = styled.div`
|
|
||||||
padding: ${props => props.theme.sitePadding};
|
|
||||||
max-width: ${props => props.theme.contentWidthLaptop};
|
|
||||||
margin: 0 auto;
|
|
||||||
|
|
||||||
flex-grow: 1;
|
|
||||||
|
|
||||||
.contributors {
|
|
||||||
margin: 100px auto 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.contributors a {
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
margin-bottom: 100px;
|
|
||||||
`;
|
|
||||||
|
|
||||||
const FooterContainer = styled.footer`
|
const FooterContainer = styled.footer`
|
||||||
background: ${props => props.theme.lightGrey};
|
background: ${props => props.theme.lightGrey};
|
||||||
|
|
||||||
|
|