All Projects → gatsbyjs → Desktop

gatsbyjs / Desktop

Licence: mit

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Desktop

Github Profile Readme Generator
🚀 Generate GitHub profile README easily with the latest add-ons like visitors count, GitHub stats, etc using minimal UI.
Stars: ✭ 7,812 (+3372%)
Mutual labels:  hacktoberfest, gatsby
Gatsby Themes
Gatsby themes that we use to build websites at Rocketseat ⚡️🔥
Stars: ✭ 116 (-48.44%)
Mutual labels:  hacktoberfest, gatsby
React Ladies
We're a group of women and non-binary ReactJS enthusiasts in New York City (and beyond).
Stars: ✭ 102 (-54.67%)
Mutual labels:  hacktoberfest, gatsby
Reactive Resume
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
Stars: ✭ 3,280 (+1357.78%)
Mutual labels:  hacktoberfest, gatsby
Gatsby Plugin Algolia
A plugin to push to Algolia based on graphQl queries
Stars: ✭ 154 (-31.56%)
Mutual labels:  hacktoberfest, gatsby
Wp Graphql
🚀 GraphQL API for WordPress
Stars: ✭ 3,097 (+1276.44%)
Mutual labels:  hacktoberfest, gatsby
Developer Community Stats
🚀 A repository to encourage beginners to contribute to open source and for all contributors to view their Github stats
Stars: ✭ 116 (-48.44%)
Mutual labels:  hacktoberfest, gatsby
Nodejs.dev
A new Node.js resource built using Gatsby.js with React.js, TypeScript, and Remark.
Stars: ✭ 1,794 (+697.33%)
Mutual labels:  hacktoberfest, gatsby
Gatsby Remark Oembed
A GatsbyJS Plugin that transforms oembed links into its corresponding embed code.
Stars: ✭ 154 (-31.56%)
Mutual labels:  hacktoberfest, gatsby
Gatsby Plugin Typegen
High-performance TypeScript/Flow code generation for GatsbyJS queries.
Stars: ✭ 144 (-36%)
Mutual labels:  hacktoberfest, gatsby
Docs
Repository of Twilio SendGrid's product documentation.
Stars: ✭ 221 (-1.78%)
Mutual labels:  hacktoberfest, gatsby
Gatsby Theme Superstylin
💅 A Gatsby Theme with styled-components
Stars: ✭ 165 (-26.67%)
Mutual labels:  hacktoberfest, gatsby
Github Profilinator
🚀 This tool contains mini GUI components that you can hook together to automatically generate markdown code for a perfect readme.
Stars: ✭ 225 (+0%)
Mutual labels:  hacktoberfest, gatsby
Gatsby Woocommerce Themes
⚡ A Gatsby Theme for WooCommerce E-commerce site Gatsby WooCommerce WordPress
Stars: ✭ 306 (+36%)
Mutual labels:  hacktoberfest, gatsby
Mdx Embed
Embed 3rd party media content in MDX - no import required 🧽
Stars: ✭ 119 (-47.11%)
Mutual labels:  hacktoberfest, gatsby
Sentry Docs
The new place for the sentry documentation (and tools to build it)
Stars: ✭ 160 (-28.89%)
Mutual labels:  hacktoberfest, gatsby
Remark Codesandbox
🎩 Create CodeSandbox directly from code blocks
Stars: ✭ 204 (-9.33%)
Mutual labels:  hacktoberfest, gatsby
Covid3d
🌏 An interactive 3D visualization of COVID-19.
Stars: ✭ 223 (-0.89%)
Mutual labels:  hacktoberfest
React Geo
A set of geo related modules to use in combination with React, Ant Design and OpenLayers.
Stars: ✭ 220 (-2.22%)
Mutual labels:  hacktoberfest
Kiwmi
A fully programmable Wayland Compositor
Stars: ✭ 221 (-1.78%)
Mutual labels:  hacktoberfest

Gatsby Desktop

A proof-of-concept desktop app for managing your Gatsby sites.

Installation

⚠️ Warning: This is alpha software, which means it is not expected to be stable. Please report bugs and share your feedback

Installing built packages

  1. Click on releases and choose the installer for your platform.

Installing from source

  1. Clone the repo
  2. Run yarn
  3. yarn develop

Screenshots

Gatsby Desktop Gatsby Admin Logs

Architecture

Gatsby Desktop is an Electron app. All Electron apps have two primary processes:

  1. "main", which is a Node.js script which handles windowing, menus and similar native bits. Think of it as the server. It opens BrowserWindows which contain:
  2. "renderer": this is the UI of the app, which is HTML + JS. In Gatsby Desktop, this is of course a local Gatsby site. Unlike a regular web app, Electron renderers can import and use built-in Node.js modules, such as fs and child_process.

Gatsby Desktop can launch and run your local Gatsby sites. We spawn these in the main process, which maintains a list of running site. The renderer gets this list over IPC and stores it in React context. There are React hooks to make it easy to access the list of sites and whether or not they're running. The main process also auto-discovers any local Gatsby sites and watches these for changes.

Development

Gatsby Desktop is written in TypeScript. We use microbundle to compile and bundle the worker and main scripts. The renderer is a Gatsby site, which we run with gatsby develop during development, or SSR in production and serve from a local Express static server. yarn develop compiles and runs everything. It uses gatsby develop, so you have hot reloading, but bear in mind that this doesn't clean up the child processes properly, so if those are running you'll need to restart the process. It also watches and compiles the worker and main bundles.

To debug the renderer, use Chrome devtools and listen to port 8315.

Telemetry

If you opt-in to telemetry, the app sends anonymous information about how use it. This is mainly checking which features you use and how much you use them. This helps us prioritize which features to develop, and to improve the app. This is particularly important as it is a proof-of-concept. This is entirely optional though, so if you don't opt-in we don't track anything except the fact that you have opted-out. All other events are not sent. This setting is separate from the telemetry setting for Gatsby itself. You can see more details on telemetry in Gatsby at https://gatsby.dev/telemetry

Release process

Create a draft release in GitHub, with the tag as the new version number prefixed with v, e.g. v0.0.1-alpha.2. Update the version number in package.json to match, and commit. Push that to master and GitHub Actions should do a build and eventually attach the packaged files to the draft release. Once the build is complete, publish the draft release.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].