{"pageContext":{"index":15,"total":362,"name":"2019-08-18","items":[{"node":{"frontmatter":{"title":"AWS 宣布推出 Polly 服务的新特性-神经文本转语音(NTTS)","publish":true,"cover":"","showCover":true,"date":"2019-08-09","category":"AI","url":"https://amazonaws-china.com/cn/polly/","author":"AWS 编辑 Ka","translator":"","tags":["tts"],"priority":1},"html":"<p>Amazon Polly 是一种文本转语音 (TTS) 服务，它使用高级的深度学习技术来合成酷似人声的语音。</p>\n<p>支持中文普通话.<a href=\"https://d1.awsstatic-china.com/product-marketing/Polly/voices/zhiyu-talk.4a8c0bbfbd1afacca606856c6fe33834e0c81a48.mp3\">测试</a></p>\n<p><a href=\"https://docs.aws.amazon.com/polly/latest/dg/voicelist.html\">Amazon Polly 语音及支持的语言的完整列表。</a></p>"}},{"node":{"frontmatter":{"title":"React v16.9 新特性React.Profiler","publish":true,"cover":"","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://segmentfault.com/a/1190000020074818","author":"瓶子君@segmentfault","translator":"","tags":["react"],"priority":1},"html":"<p><Profiler> 测量 React 应用程序渲染的频率以及渲染的 \"成本\" 。其目的是帮助识别应用程序中渲染缓慢的部分，并且可能更益与 memoization 等优化 。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token function\">render</span><span class=\"token punctuation\">(</span>\n  <span class=\"token operator\">&lt;</span>Profiler id<span class=\"token operator\">=</span><span class=\"token string\">\"application\"</span> onRender<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>onRenderCallback<span class=\"token punctuation\">}</span><span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span>App<span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>Navigation <span class=\"token punctuation\">{</span><span class=\"token operator\">...</span>props<span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n      <span class=\"token operator\">&lt;</span>Main <span class=\"token punctuation\">{</span><span class=\"token operator\">...</span>props<span class=\"token punctuation\">}</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>App<span class=\"token operator\">></span>\n  <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Profiler<span class=\"token operator\">></span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"VSCode实用插件列表","publish":true,"cover":"https://cdn.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_800/https://www.jonrcorbin.com/wp-content/uploads/2019/08/fullstack_vscode.png","showCover":true,"date":"2019-08-09","category":"javascript","url":"https://www.jonrcorbin.com/the-best-vs-code-extension-list-for-full-stack-developers/","author":"Jon R. Corbin","translator":"","tags":["vscode"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"buffer浏览器上完全兼容node buffer api的库","publish":true,"cover":"","showCover":true,"date":"2019-08-09","category":"javascript","url":"https://github.com/feross/buffer","author":"Feross Aboukhadijeh","translator":"","tags":["buffer"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"destructing妙用-不使用第三个变量交换两个变量的值","publish":true,"cover":"","showCover":true,"date":"2019-08-16","category":"nodejs","url":"https://dmitripavlutin.com/5-interesting-uses-javascript-destructuring/","author":"Dmitri Pavlutin 编辑 Ka","translator":"","tags":["destructring"],"priority":1},"html":"<p>javascript里面支持多个变量</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">let</span> zero <span class=\"token operator\">=</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">let</span> one <span class=\"token operator\">=</span> <span class=\"token number\">1</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">let</span> two <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token punctuation\">[</span>zero<span class=\"token punctuation\">,</span> one<span class=\"token punctuation\">,</span> two<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>two<span class=\"token punctuation\">,</span> one<span class=\"token punctuation\">,</span> zero<span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n\nzero<span class=\"token punctuation\">;</span> <span class=\"token comment\">// => 0</span>\none<span class=\"token punctuation\">;</span>  <span class=\"token comment\">// => 1</span>\ntwo<span class=\"token punctuation\">;</span>  <span class=\"token comment\">// => 2</span></code></pre></div>\n<p>复习一下c语言的两种方法（只支持两个变量）</p>\n<h2 id=\"方法一\"><a href=\"#%E6%96%B9%E6%B3%95%E4%B8%80\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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>方法一</h2>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;stdio.h></span></span>\n \n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n   <span class=\"token keyword\">int</span> a<span class=\"token punctuation\">,</span> b<span class=\"token punctuation\">;</span>\n   \n   <span class=\"token function\">printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"Input two integers (a &amp; b) to swap\\n\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token function\">scanf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%d%d\"</span><span class=\"token punctuation\">,</span> <span class=\"token operator\">&amp;</span>a<span class=\"token punctuation\">,</span> <span class=\"token operator\">&amp;</span>b<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   \n   a <span class=\"token operator\">=</span> a <span class=\"token operator\">+</span> b<span class=\"token punctuation\">;</span>\n   b <span class=\"token operator\">=</span> a <span class=\"token operator\">-</span> b<span class=\"token punctuation\">;</span>\n   a <span class=\"token operator\">=</span> a <span class=\"token operator\">-</span> b<span class=\"token punctuation\">;</span>\n \n   <span class=\"token function\">printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"a = %d\\nb = %d\\n\"</span><span class=\"token punctuation\">,</span>a<span class=\"token punctuation\">,</span>b<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n   <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<h2 id=\"方法二\"><a href=\"#%E6%96%B9%E6%B3%95%E4%BA%8C\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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>方法二</h2>\n<div class=\"gatsby-highlight\" data-language=\"c\"><pre class=\"language-c\"><code class=\"language-c\"><span class=\"token macro property\">#<span class=\"token directive keyword\">include</span> <span class=\"token string\">&lt;stdio.h></span></span>\n \n<span class=\"token keyword\">int</span> <span class=\"token function\">main</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">int</span> x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">;</span>\n \n  <span class=\"token function\">scanf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"%d%d\"</span><span class=\"token punctuation\">,</span> <span class=\"token operator\">&amp;</span>x<span class=\"token punctuation\">,</span> <span class=\"token operator\">&amp;</span>y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n \n  <span class=\"token function\">printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"x = %d\\ny = %d\\n\"</span><span class=\"token punctuation\">,</span> x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n \n  x <span class=\"token operator\">=</span> x <span class=\"token operator\">^</span> y<span class=\"token punctuation\">;</span>\n  y <span class=\"token operator\">=</span> x <span class=\"token operator\">^</span> y<span class=\"token punctuation\">;</span>\n  x <span class=\"token operator\">=</span> x <span class=\"token operator\">^</span> y<span class=\"token punctuation\">;</span>\n \n \n  <span class=\"token function\">printf</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"x = %d\\ny = %d\\n\"</span><span class=\"token punctuation\">,</span> x<span class=\"token punctuation\">,</span> y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n \n  <span class=\"token keyword\">return</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"formik-让我们轻松的使用react form","publish":true,"cover":"https://user-images.githubusercontent.com/4060187/61057426-4e5a4600-a3c3-11e9-9114-630743e05814.png","showCover":true,"date":"2019-08-09","category":"frontend-2","url":"https://github.com/jaredpalmer/formik","author":"Jared Palmer 编辑 Ka","translator":"","tags":["react"],"priority":1},"html":"<p>说来说去，还是因为react没有双向绑定的缘故，所以操作一个form真是繁琐。</p>\n<p>formik就是尝试解决这样的问题。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">// Render Prop</span>\n<span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> Formik<span class=\"token punctuation\">,</span> Form<span class=\"token punctuation\">,</span> Field<span class=\"token punctuation\">,</span> ErrorMessage <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'formik'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">Basic</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span>\n  <span class=\"token operator\">&lt;</span>div<span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span>h1<span class=\"token operator\">></span>Any place <span class=\"token keyword\">in</span> your app<span class=\"token operator\">!</span><span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>h1<span class=\"token operator\">></span>\n    <span class=\"token operator\">&lt;</span>Formik\n      initialValues<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">{</span> email<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span><span class=\"token punctuation\">,</span> password<span class=\"token punctuation\">:</span> <span class=\"token string\">''</span> <span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span>\n      validate<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>values <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n        <span class=\"token keyword\">let</span> errors <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n        <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span><span class=\"token operator\">!</span>values<span class=\"token punctuation\">.</span>email<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          errors<span class=\"token punctuation\">.</span>email <span class=\"token operator\">=</span> <span class=\"token string\">'Required'</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span> <span class=\"token keyword\">else</span> <span class=\"token keyword\">if</span> <span class=\"token punctuation\">(</span>\n          <span class=\"token operator\">!</span><span class=\"token regex\">/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i</span><span class=\"token punctuation\">.</span><span class=\"token function\">test</span><span class=\"token punctuation\">(</span>values<span class=\"token punctuation\">.</span>email<span class=\"token punctuation\">)</span>\n        <span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n          errors<span class=\"token punctuation\">.</span>email <span class=\"token operator\">=</span> <span class=\"token string\">'Invalid email address'</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span>\n        <span class=\"token keyword\">return</span> errors<span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span>\n      onSubmit<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">(</span>values<span class=\"token punctuation\">,</span> <span class=\"token punctuation\">{</span> setSubmitting <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n        <span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n          <span class=\"token function\">alert</span><span class=\"token punctuation\">(</span><span class=\"token constant\">JSON</span><span class=\"token punctuation\">.</span><span class=\"token function\">stringify</span><span class=\"token punctuation\">(</span>values<span class=\"token punctuation\">,</span> <span class=\"token keyword\">null</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n          <span class=\"token function\">setSubmitting</span><span class=\"token punctuation\">(</span><span class=\"token boolean\">false</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n        <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token number\">400</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n      <span class=\"token punctuation\">}</span><span class=\"token punctuation\">}</span>\n    <span class=\"token operator\">></span>\n      <span class=\"token punctuation\">{</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> isSubmitting <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span>\n        <span class=\"token operator\">&lt;</span>Form<span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>Field type<span class=\"token operator\">=</span><span class=\"token string\">\"email\"</span> name<span class=\"token operator\">=</span><span class=\"token string\">\"email\"</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token string\">\"email\"</span> component<span class=\"token operator\">=</span><span class=\"token string\">\"div\"</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>Field type<span class=\"token operator\">=</span><span class=\"token string\">\"password\"</span> name<span class=\"token operator\">=</span><span class=\"token string\">\"password\"</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>ErrorMessage name<span class=\"token operator\">=</span><span class=\"token string\">\"password\"</span> component<span class=\"token operator\">=</span><span class=\"token string\">\"div\"</span> <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n          <span class=\"token operator\">&lt;</span>button type<span class=\"token operator\">=</span><span class=\"token string\">\"submit\"</span> disabled<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>isSubmitting<span class=\"token punctuation\">}</span><span class=\"token operator\">></span>\n            Submit\n          <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>button<span class=\"token operator\">></span>\n        <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Form<span class=\"token operator\">></span>\n      <span class=\"token punctuation\">)</span><span class=\"token punctuation\">}</span>\n    <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>Formik<span class=\"token operator\">></span>\n  <span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>div<span class=\"token operator\">></span>\n<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">default</span> Basic<span class=\"token punctuation\">;</span></code></pre></div>\n<p><a href=\"https://jaredpalmer.com/formik/docs/overview\">文档</a></p>"}},{"node":{"frontmatter":{"title":"infernojs-专注于性能的web框架","publish":true,"cover":"https://user-images.githubusercontent.com/2021355/36063342-626d7ea8-0e84-11e8-84e1-f22bb3b8c4d5.png","showCover":true,"date":"2019-08-09","category":"frontend-2","url":"https://github.com/infernojs/inferno","author":"inferno 编辑 Ka","translator":"","tags":["react"],"priority":1},"html":"<ul>\n<li>react的使用方式，但是是自己实现的引擎</li>\n<li>不能用于react native</li>\n</ul>"}},{"node":{"frontmatter":{"title":"inter-被github和mozila使用的开源字体","publish":true,"cover":"https://github.com/rsms/inter/raw/master/docs/res/metrics.png","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://github.com/rsms/inter","author":"Rasmus","translator":"","tags":["font"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"justgage-控制面板动画特效","publish":true,"cover":"https://github.com/toorshia/justgage/raw/master/docs/img/screenshot.gif","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://github.com/toorshia/justgage","author":"Bojan Djuricic","translator":"","tags":["font"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"mespeak基于webassembly的纯浏览器端TTS库","publish":true,"cover":"","showCover":true,"date":"2019-08-09","category":"javascript","url":"https://github.com/mikolalysenko/mespeak","author":"Norbert Landsteiner 编辑 Ka","translator":"","tags":["tts"],"priority":1},"html":"<p><a href=\"https://www.masswerk.at/mespeak/\">在线demo</a></p>\n<p>新版本分两个部分，UI部分和core，core自动以worker方式运行。\n目前语音质量还是有待提高。</p>"}},{"node":{"frontmatter":{"title":"npkill-快速帮你找到大node_modules的包","publish":true,"cover":"https://camo.githubusercontent.com/ad0b856d5f6472b5cdd6bc54972416011cd49ff1/68747470733a2f2f6e706b696c6c2e6a732e6f72672f696d672f6e706b696c6c2d64656d6f2d302e332e302e676966","showCover":true,"date":"2019-08-09","category":"nodejs","url":"https://github.com/voidcosmos/npkill","author":"Estefanía García Gallardo and Juan Torres Gómez","translator":"","tags":["npm"],"priority":1},"html":"<p>安装 <code class=\"language-text\">npm i -g npkill</code>\n使用 <code class=\"language-text\">cd ~/projects npkill</code></p>"}},{"node":{"frontmatter":{"title":"react-admin使用Material,GraphQL,ES6,RESTapi的React管理后台模板","publish":true,"cover":"https://camo.githubusercontent.com/22a49c2e3bbb98df60e7e97fa740007ae455ba70/68747470733a2f2f6d61726d656c61622e636f6d2f72656163742d61646d696e2f696d672f646174612d70726f76696465722e706e67","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://github.com/marmelab/react-admin","author":"marmelab 编辑 Ka","translator":"","tags":["react"],"priority":2},"html":"<p>非常值得称道的是，此项目直接使用npm包的方式使用。支持多方后端。<a href=\"https://marmelab.com/react-admin/\">文档</a>也非常详细。</p>"}},{"node":{"frontmatter":{"title":"react-native-htmlview-在react native中显示html的组件","publish":true,"cover":"https://camo.githubusercontent.com/40c061e190af77493771d432dfc75ba1b8332deb/687474703a2f2f692e696d6775722e636f6d2f46594f674259632e706e67","showCover":true,"date":"2019-08-09","category":"frontend-2","url":"https://github.com/jsdf/react-native-htmlview","author":"James Friend 编辑 Ka","translator":"","tags":["react"],"priority":2},"html":"<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">'react'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span>StyleSheet<span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'react-native'</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">import</span> HTMLView <span class=\"token keyword\">from</span> <span class=\"token string\">'react-native-htmlview'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">class</span> <span class=\"token class-name\">App</span> <span class=\"token keyword\">extends</span> <span class=\"token class-name\">React<span class=\"token punctuation\">.</span>Component</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token function\">render</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token keyword\">const</span> htmlContent <span class=\"token operator\">=</span> <span class=\"token template-string\"><span class=\"token string\">`&lt;p>&lt;a href=\"http://jsdf.co\">&amp;hearts; nice job!&lt;/a>&lt;/p>`</span></span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span>\n      <span class=\"token operator\">&lt;</span>HTMLView\n        value<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>htmlContent<span class=\"token punctuation\">}</span>\n        stylesheet<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>styles<span class=\"token punctuation\">}</span>\n      <span class=\"token operator\">/</span><span class=\"token operator\">></span>\n    <span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">const</span> styles <span class=\"token operator\">=</span> StyleSheet<span class=\"token punctuation\">.</span><span class=\"token function\">create</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  a<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">{</span>\n    fontWeight<span class=\"token punctuation\">:</span> <span class=\"token string\">'300'</span><span class=\"token punctuation\">,</span>\n    color<span class=\"token punctuation\">:</span> <span class=\"token string\">'#FF3366'</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">// make links coloured pink</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"tailwind.run-在线运行tailwindcss工具","publish":true,"cover":"","showCover":true,"date":"2019-08-17","category":"frontend","url":"https://tailwind.run","author":"编辑 Ka","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"使用Yarn工作区包含多个项目","publish":true,"cover":"https://yarnpkg.com/assets/feature-reliable.png","showCover":true,"date":"2019-08-09","category":"nodejs","url":"https://yarnpkg.com/lang/zh-hans/docs/workspaces/","author":"编辑 Ka","translator":"","tags":["yarn"],"priority":1},"html":"<p><a href=\"https://yarnpkg.com/lang/zh-hans/docs/workspaces/\">yarn workspaces</a> 可以包含多个项目。</p>\n<ul>\n<li>各项目间可以依赖。</li>\n<li>Lerna正是基于yarn工作区的。</li>\n<li>使用简单<code class=\"language-text\">yarn install</code>会初始化所有项目</li>\n</ul>\n<p>目录结构</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">/package.json\n/yarn.lock\n\n/node_modules\n/node_modules/cross-env\n/node_modules/workspace-a -<span class=\"token operator\">></span> /workspace-a\n\n/workspace-a/package.json\n/workspace-b/package.json</code></pre></div>\n<p>其中顶层/package.json</p>\n<div class=\"gatsby-highlight\" data-language=\"json\"><pre class=\"language-json\"><code class=\"language-json\"><span class=\"token punctuation\">{</span>\n  <span class=\"token property\">\"private\"</span><span class=\"token operator\">:</span> <span class=\"token boolean\">true</span><span class=\"token punctuation\">,</span>\n  <span class=\"token property\">\"workspaces\"</span><span class=\"token operator\">:</span> <span class=\"token punctuation\">[</span><span class=\"token string\">\"workspace-a\"</span><span class=\"token punctuation\">,</span> <span class=\"token string\">\"workspace-b\"</span><span class=\"token punctuation\">]</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>workspaces中的数组指明各子项目。</p>"}},{"node":{"frontmatter":{"title":"useAuth基于auth0的完全前端认证react钩子","publish":true,"cover":"https://camo.githubusercontent.com/e5f8a596e3406a7129d347b2cc6bbe4a3e76da02/68747470733a2f2f692e696d6775722e636f6d2f4b756e45656d4e2e676966","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://github.com/Swizec/useAuth","author":"Swizec Teller 编辑 Ka","translator":"","tags":["react"],"priority":2},"html":"<blockquote>\n<p><a href=\"https://auth0.com/\">Auth0</a> 是一家“身份验证即服务”提供商，旨在为开发人员提供简单易用的身份管理服务。为了保持灵活性和可扩展性，Auth0 身份管理平台允许开发人员在身份验证和授权管道中增加自定义代码。</p>\n</blockquote>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> React <span class=\"token keyword\">from</span> <span class=\"token string\">\"react\"</span>\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> navigate <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">\"gatsby\"</span>\n\n<span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> AuthProvider <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">\"react-use-auth\"</span>\n\n<span class=\"token keyword\">export</span> <span class=\"token keyword\">const</span> <span class=\"token function-variable function\">wrapRootElement</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> element <span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span>\n\t<span class=\"token operator\">&lt;</span>AuthProvider\n\t  navigate<span class=\"token operator\">=</span><span class=\"token punctuation\">{</span>navigate<span class=\"token punctuation\">}</span>\n\t  auth0_domain<span class=\"token operator\">=</span><span class=\"token string\">\"useauth.auth0.com\"</span>\n\t  auth0_client_id<span class=\"token operator\">=</span><span class=\"token string\">\"GjWNFNOHq1ino7lQNJBwEywa1aYtbIzh\"</span>\n\t<span class=\"token operator\">></span>\n\t  <span class=\"token punctuation\">{</span>element<span class=\"token punctuation\">}</span>\n\t<span class=\"token operator\">&lt;</span><span class=\"token operator\">/</span>AuthProvider<span class=\"token operator\">></span>\n<span class=\"token punctuation\">)</span></code></pre></div>\n<p>使用useAuth可以完全做到不写任何服务端代码直接前端走完auth0认证流程并获得用户信息。</p>"}},{"node":{"frontmatter":{"title":"使用Cheerio和pipedream抓取网站","publish":true,"cover":"","showCover":true,"date":"2019-08-16","category":"nodejs","url":"https://medium.com/@dylan.sather/scrape-a-site-with-node-and-cheerio-in-5-minutes-4617daee3384","author":"Dylan Sather 编辑 Ka","translator":"","tags":["scrape"],"priority":1},"html":"<p><a href=\"https://pipedream.com/\">pipedream</a>可用来免费运行nodejs脚本和计划任务。\n<a href=\"https://github.com/cheeriojs/cheerio\">cheerio</a>用来解析html，用法类似jquery。</p>"}},{"node":{"frontmatter":{"title":"几个grid布局在线生成器","publish":true,"cover":"","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://www.sitepoint.com/css-grid-generators/","author":"Maria Antonietta Perna 编辑 Ka","translator":"","tags":["css"],"priority":1},"html":"<h2 id=\"css-grid-generator-by-sarah-drasner\"><a href=\"#css-grid-generator-by-sarah-drasner\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://cssgrid-generator.netlify.com/\">CSS Grid Generator by Sarah Drasner</a></h2>\n<h2 id=\"layoutit-by-leniolabs\"><a href=\"#layoutit-by-leniolabs\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://grid.layoutit.com/\">LayoutIt by Leniolabs</a></h2>\n<h2 id=\"griddy-by-drew-minns\"><a href=\"#griddy-by-drew-minns\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"http://griddy.io/\">Griddy by Drew Minns</a></h2>\n<h2 id=\"vue-grid-generator-by-masaya-kazama\"><a href=\"#vue-grid-generator-by-masaya-kazama\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://vue-grid-generator.netlify.com/\">Vue Grid Generator by Masaya Kazama</a></h2>\n<h2 id=\"css-grid-layout-generator-by-dmitrii-bykov\"><a href=\"#css-grid-layout-generator-by-dmitrii-bykov\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://css-grid-layout-generator.pw/\">CSS Grid Layout Generator by Dmitrii Bykov</a></h2>\n<blockquote>\n<p>老编觉得LayoutIt by Leniolabs最好用。</p>\n</blockquote>"}},{"node":{"frontmatter":{"title":"响应式样式简便写法-配合变量","publish":true,"cover":"https://res.cloudinary.com/practicaldev/image/fetch/s--Cr38Zq6E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://cdn-images-1.medium.com/max/800/1%2A3O3UWwcJWEXoVGe-OQGsnw.gif","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://dev.to/perborgen/how-to-make-responsiveness-super-simple-with-css-variables-1gnm","author":"Per Harald Borgen","translator":"","tags":["css"],"priority":1},"html":"<p>配合css变量使代码更简洁，但是<a href=\"https://github.com/nuxodin/ie11CustomProperties\">对于IE需要polyfill</a></p>"}},{"node":{"frontmatter":{"title":"实用python字符串方法","publish":true,"cover":"","showCover":true,"date":"2019-08-16","category":"python","url":"https://towardsdatascience.com/useful-string-methods-in-python-5047ea4d3f90","author":"Parul Pandey 编辑 Ka","translator":"","tags":["string"],"priority":1},"html":"<h2 id=\"center-\"><a href=\"#center-\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://docs.python.org/3.7/library/stdtypes.html#str.center\">center( )</a></h2>\n<p><img src=\"https://miro.medium.com/max/700/1*zAw0FzV9tMAFE4jcdBf7JA.png\"></p>\n<h2 id=\"count-\"><a href=\"#count-\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://docs.python.org/3.7/library/stdtypes.html#str.count\">count( )</a></h2>\n<p><img src=\"https://miro.medium.com/max/700/1*Alqyc63PUPgKisFPA6A56g.png\"></p>\n<h2 id=\"find-\"><a href=\"#find-\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://docs.python.org/3.7/library/stdtypes.html#str.find\">find( )</a></h2>\n<p><img src=\"https://miro.medium.com/max/700/1*C5asfzh--Pyu8OyCdqQxRQ.png\"></p>\n<h2 id=\"swapcase-\"><a href=\"#swapcase-\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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><a href=\"https://docs.python.org/3.7/library/stdtypes.html#str.swapcase\">swapcase( )</a></h2>\n<p><img src=\"https://miro.medium.com/max/700/1*fKAaJiLs_2XSH3ulVAhbaw.png\"></p>\n<h2 id=\"ljust--and-rjust-\"><a href=\"#ljust--and-rjust-\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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>ljust( ) and rjust( )</h2>\n<p><img src=\"https://miro.medium.com/max/700/1*_uvAPOO3MFNRbmVsBCRIUw.png\"></p>\n<h2 id=\"zfill-\"><a href=\"#zfill-\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" 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>zfill( )</h2>\n<p><img src=\"https://miro.medium.com/max/700/1*g6BRkFzr4tJWgL0grWNdIQ.png\"></p>"}},{"node":{"frontmatter":{"title":"游戏-飞翔的鸡蛋(Aero Egg)-ios非中国区可下载","publish":true,"cover":"https://blog.kazge.com/assets/volitantegg-show.gif","showCover":true,"date":"2019-06-12","category":"game","url":"https://blog.kazge.com/show/volitantegg/%E9%A3%9E%E7%BF%94%E7%9A%84%E9%B8%A1%E8%9B%8B.apk","author":"广告","translator":"","tags":["ads"],"priority":1},"html":"<p><a href=\"https://itunes.apple.com/us/app/volitant-egg-ads-version/id1247264387?mt=8\">APP Store(非国内账户可下载)</a>\n<a href=\"https://blog.kazge.com/show/volitantegg/%E9%A3%9E%E7%BF%94%E7%9A%84%E9%B8%A1%E8%9B%8B.apk\">安卓 - 中文</a></p>"}},{"node":{"frontmatter":{"title":"怎样缩小svg","publish":true,"cover":"","showCover":true,"date":"2019-08-09","category":"frontend","url":"https://victorzhou.com/blog/minify-svgs/","author":"Victor Zhou","translator":"","tags":["svg"],"priority":1},"html":"<ul>\n<li>使用<a href=\"https://github.com/svg/svgo\">svgo</a></li>\n<li>使用<a href=\"https://github.com/vzhou842/gatsby-plugin-optimize-svgs\">gatsby插件</a></li>\n</ul>"}},{"node":{"frontmatter":{"title":"想让你的文章出现在这里？","publish":true,"cover":"","showCover":true,"date":"2019-07-08","category":"frontend","url":"mailto:editor@zhouexin.com?subject=投稿!","author":"投稿","translator":"","tags":["editor"],"priority":1},"html":""}}]}}