1"use strict";(self.webpackChunkelectronjs=self.webpackChunkelectronjs||[]).push([["16670"],{26575(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var o=n(75276),s=n(74848),r=n(28453);let i={title:"Website Hiccups",date:new Date("2018-02-12T00:00:00.000Z"),authors:"zeke",slug:"website-hiccups"},a,l={authorsImageUrls:[void 0]},c=[{value:"Offline Docs in Every Language",id:"offline-docs-in-every-language",level:2},{value:"Offline Docs with a GUI",id:"offline-docs-with-a-gui",level:2}];function h(e){let t={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(t.p,{children:["Last week the ",(0,s.jsx)(t.a,{href:"https://electronjs.org",children:"electronjs.org"})," site had a few minutes\nof downtime. If you were affected by these brief outages, we're sorry\nfor the inconvenience. After a bit of investigation today, we've diagnosed\nthe root cause and have deployed a ",(0,s.jsx)(t.a,{href:"https://github.com/electron/electronjs.org/pull/1076",children:"fix"}),"."]}),"\n",(0,s.jsx)(t.hr,{}),"\n",(0,s.jsxs)(t.p,{children:["To prevent this kind of downtime in the future, we've enabled\n",(0,s.jsx)(t.a,{href:"https://devcenter.heroku.com/articles/metrics#threshold-alerting",children:"Heroku threshold alerts"}),"\non our app. Any time our web server accumulates failed requests or slow responses beyond a certain threshold, our team will be notified so we can\naddress the problem quickly."]}),"\n",(0,s.jsx)(t.h2,{id:"offline-docs-in-every-language",children:"Offline Docs in Every Language"}),"\n",(0,s.jsx)(t.p,{children:"The next time you're developing an Electron app on a plane or in a subterranean\ncoffee shop, you might want to have a copy of the docs for offline reference.\nFortunately, Electron's docs are available as Markdown files in over 20\nlanguages."}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-sh",children:"git clone https://github.com/electron/electron-i18n\nls electron-i18n/content\n"})}),"\n",(0,s.jsx)(t.h2,{id:"offline-docs-with-a-gui",children:"Offline Docs with a GUI"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://devdocs.io/electron/",children:"devdocs.io/electron"})," is a handy website that\nstores docs for offline use, not just for Electron but many other projects like\nJavaScript, TypeScript, Node.js, React, Angular, and many others. And of course\nthere's an Electron app for that, too.\nCheck out ",(0,s.jsx)(t.a,{href:"https://electronjs.org/apps/devdocs-app",children:"devdocs-app"}),"\non the Electron site."]}),"\n",(0,s.jsx)(t.p,{children:(0,s.jsx)(t.a,{href:"https://electronjs.org/apps/devdocs-app",children:(0,s.jsx)(t.img,{src:"https://user-images.githubusercontent.com/8784712/27121730-11676ba8-511b-11e7-8c01-00444ee8501a.png",alt:"devdocs-app"})})}),"\n",(0,s.jsxs)(t.p,{children:["If you like to install apps without using your mouse or trackpad, give\n",(0,s.jsx)(t.a,{href:"https://electronforge.io/",children:"Electron Forge"}),"'s ",(0,s.jsx)(t.code,{children:"install"})," command a try:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-sh",children:"npx electron-forge install egoist/devdocs-app\n"})})]})}function d(e={}){let{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},28453(e,t,n){n.d(t,{R:()=>i,x:()=>a});var o=n(96540);let s={},r=o.createContext(s);function i(e){let t=o.useContext(r);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}},75276(e){e.exports=JSON.parse('{"permalink":"/blog/website-hiccups","source":"@site/blog/website-hiccups.md","title":"Website Hiccups","description":"Last week the electronjs.org site had a few minutes","date":"2018-02-12T00:00:00.000Z","tags":[],"readingTime":1.32,"hasTruncateMarker":false,"authors":[{"name":"zeke","url":"https://github.com/zeke","imageURL":"https://github.com/zeke.png?size=96","key":"zeke","page":null}],"frontMatter":{"title":"Website Hiccups","date":"2018-02-12T00:00:00.000Z","authors":"zeke","slug":"website-hiccups"},"unlisted":false,"prevItem":{"title":"Webview Vulnerability Fix","permalink":"/blog/webview-fix"},"nextItem":{"title":"Protocol Handler Vulnerability Fix","permalink":"/blog/protocol-handler-fix"}}')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.