Skip to content

Commit

Permalink
Add site (techlore#18)
Browse files Browse the repository at this point in the history
Add Gatsby SSG site
  • Loading branch information
tomkonidas authored Aug 28, 2020
1 parent 1872f69 commit e008180
Show file tree
Hide file tree
Showing 28 changed files with 20,339 additions and 20 deletions.
69 changes: 69 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Typescript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# dotenv environment variable files
.env*

# gatsby files
.cache/
public

# Mac files
.DS_Store

# Yarn
yarn-error.log
.pnp/
.pnp.js
# Yarn Integrity file
.yarn-integrity
14 changes: 14 additions & 0 deletions Gatsby/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
The BSD Zero Clause License (0BSD)

Copyright (c) 2020 Gatsby Inc.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
99 changes: 99 additions & 0 deletions Gatsby/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<!-- AUTO-GENERATED-CONTENT:START (STARTER) -->
<p align="center">
<a href="https://www.gatsbyjs.com">
<img alt="Gatsby" src="https://www.gatsbyjs.com/Gatsby-Monogram.svg" width="60" />
</a>
</p>
<h1 align="center">
Gatsby's default starter
</h1>

Kick off your project with this default boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React.

_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.com/docs/gatsby-starters/)._

## 🚀 Quick start

1. **Create a Gatsby site.**

Use the Gatsby CLI to create a new site, specifying the default starter.

```shell
# create a new Gatsby site using the default starter
gatsby new my-default-starter https://github.com/gatsbyjs/gatsby-starter-default
```

1. **Start developing.**

Navigate into your new site’s directory and start it up.

```shell
cd my-default-starter/
gatsby develop
```

1. **Open the source code and start editing!**

Your site is now running at `http://localhost:8000`!

_Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.com/tutorial/part-five/#introducing-graphiql)._
Open the `my-default-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time!
## 🧐 What's inside?

A quick look at the top-level files and directories you'll see in a Gatsby project.
.
├── node_modules
├── src
├── .gitignore
├── .prettierrc
├── gatsby-browser.js
├── gatsby-config.js
├── gatsby-node.js
├── gatsby-ssr.js
├── LICENSE
├── package-lock.json
├── package.json
└── README.md
1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”.
3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.
5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.com/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.com/docs/gatsby-config/) for more detail).
7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.com/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.com/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license.
10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).**
11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.
12. **`README.md`**: A text file containing useful reference information about your project.
## 🎓 Learning Gatsby
Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.com/). Here are some places to start:
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.com/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.com/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
## 💫 Deploy
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-default)
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/gatsbyjs/gatsby-starter-default)
<!-- AUTO-GENERATED-CONTENT:END -->
48 changes: 29 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,47 @@
# Plexus

<img src="https://techlore.tech/plexus.png" width="200" height="200">

A common concern expressed by users wanting to move to a de-googled Android ROM is: *Will my apps work without Google Play Services?*
A common concern expressed by users wanting to move to a de-googled Android ROM is: _Will my apps work without Google Play Services?_

Plexus crowdsources data from custom Android ROM users to display what apps do/don't work without Google Play Services.
Plexus crowdsources data from custom Android ROM users to display what apps do/don't work without Google Play Services.

## Explanation
Google Play Services are an integral part of most Android devices that enable users to utilize their Google account on their phone, as well as enable Google-specific features for applications that rely on them.

Google Play Services are an integral part of most Android devices that enable users to utilize their Google account on their phone, as well as enable Google-specific features for applications that rely on them.

When users move to a de-googled ROM like GrapheneOS or LineageOS, they are faced with opening their standard applications hoping they work. Plexus aims to beat the guessing game and allow users to know exactly what will happen once they flash a new ROM. Plexus supports ROMs with simply no Google Play Services, as well as ROMs with MicroG, an open source variation of Google Play Services.

## Navigating Plexus
Currently, Plexus is just a standard CSV spreadsheet in this repo.

Currently, Plexus is just a standard CSV spreadsheet [in this repo](./src/data/Plexus.csv).

**NOTE: Plexus is only for applications directly or indirectly from the Google Play Store. Please do not submit applications from F-Droid as they are all expected to work.**

## What Do The Ratings Mean?

1. Unusable. Mostly apps that fail to open
2. Acceptable but with missing or broken functionality
3. Almost everything works with minimal caveats
3. Almost everything works with minimal caveats
4. Perfect or like-perfect experience

## How To Add Your Applications & Contribute
This is quickly thrown together so we can start collecting data. It's by no means perfect, and I am aware not everyone uses Github.

This is quickly thrown together so we can start collecting data. It's by no means perfect, and I am aware not everyone uses Github.

### Testing Standards

* Test only Google Play Store applications (Regardless of where they came from, including the Aurora Store front end)
* Kindly disable netguard and other blockers
* No Google Play Services
* Pay extra attention to notifications as some will not properly work
* If you're testing from MicroG, only input data in the last two columns, and utilize two "X"s for the standard sections.
* If you're testing from a fully de-googled ROM (no MicroG, input data in the standard sections and mark the MicroG sections as "X"s
- Test only Google Play Store applications (Regardless of where they came from, including the Aurora Store front end)
- Kindly disable netguard and other blockers
- No Google Play Services
- Pay extra attention to notifications as some will not properly work
- If you're testing from MicroG, only input data in the last two columns, and utilize two "X"s for the standard sections.
- If you're testing from a fully de-googled ROM (no MicroG, input data in the standard sections and mark the MicroG sections as "X"s

### Contribute Method 1 (Recommended)
Start a pull request with your apps to submit. Ensure you're maintaining the proper CSV format in alphabetical order to make merging as simple as possible.

Start a pull request with your apps to submit. Ensure you're maintaining the proper CSV format in alphabetical order to make merging as simple as possible.

1. App Name
2. Month Last Tested
3. Year Last Tested
Expand All @@ -44,7 +51,9 @@ Start a pull request with your apps to submit. Ensure you're maintaining the pro
7. MicroG issues. Explain your problems, or just say "No reported issues" if the app works perfectly. Label "X" if you're not testing with MicroG.

### Contribute Method 2 (Non-Github Method)

Email me at [email protected] with all your apps you use on your phone that are from the Google Play Store (Directly or Indirectly) with the following information:

1. App Name
2. Month Last Tested
3. Year Last Tested
Expand All @@ -53,12 +62,13 @@ Email me at [email protected] with all your apps you use on your phone that
6. MicroG App Score. Label "X" if you're not testing with MicroG.
7. MicroG issues. Label "X" if you're not testing with MicroG.

I will then update the spreadsheet myself.
I will then update the spreadsheet myself.

## Future Plans & Goals
* Support for application version numbers.
* A website to allow better formatting of application data.
* Support for "recommended alternatives" similar to alternativeto.net
* An app you can download from F-Droid that conveniently scans app on your phone allowing you to submit scores within a centralized location.

![](https://i.creativecommons.org/p/zero/1.0/88x31.png) This project is licensed under the terms of the CC0 V1 License.
- Support for application version numbers.
- A website to allow better formatting of application data.
- Support for "recommended alternatives" similar to alternativeto.net
- An app you can download from F-Droid that conveniently scans app on your phone allowing you to submit scores within a centralized location.

![](https://i.creativecommons.org/p/zero/1.0/88x31.png) This project is licensed under the terms of the CC0 V1 License.
7 changes: 7 additions & 0 deletions gatsby-browser.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* Implement Gatsby's Browser APIs in this file.
*
* See: https://www.gatsbyjs.org/docs/browser-apis/
*/

// You can delete this file if you're not using it
51 changes: 51 additions & 0 deletions gatsby-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
module.exports = {
siteMetadata: {
title: `Plexus`,
description: `Remove the fear of Android app compatibility on de-Googled devices.`,
author: `@tomkonidas`,
},
plugins: [
`gatsby-plugin-react-helmet`,
{
resolve: `gatsby-source-filesystem`,
options: {
name: `images`,
path: `${__dirname}/src/images`,
},
},
{
resolve: `gatsby-source-filesystem`,
options: {
name: `data`,
path: `${__dirname}/src/data/`,
},
},
`gatsby-transformer-csv`,
`gatsby-transformer-sharp`,
`gatsby-plugin-sharp`,
{
resolve: `gatsby-plugin-manifest`,
options: {
name: `plexus`,
short_name: `plexus`,
start_url: `/`,
background_color: `#e74c3c`,
theme_color: `#e74c3c`,
display: `minimal-ui`,
icon: `src/images/plexus-icon.png`, // This path is relative to the root of the site.
},
},
`gatsby-plugin-postcss`,
{
resolve: "gatsby-plugin-slug-field",
options: {
filter: { internal: { type: "PlexusCsv" } },
source: "Application",
fieldName: "slug",
},
},
// this (optional) plugin enables Progressive Web App + Offline functionality
// To learn more, visit: https://gatsby.dev/offline
// `gatsby-plugin-offline`,
],
};
37 changes: 37 additions & 0 deletions gatsby-node.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
const path = require(`path`);
const { createFilePath } = require(`gatsby-source-filesystem`);

exports.createPages = async ({ graphql, actions }) => {
const { createPage } = actions;
const result = await graphql(`
query {
allPlexusCsv {
edges {
node {
Application
id
MicroG_Notes
MicroG_Rating__1_4_
Month
Notes
Rating__1_4_
Year
fields {
slug
}
}
}
}
}
`);

result.data.allPlexusCsv.edges.forEach(({ node }) => {
createPage({
path: `/applications/${node.fields.slug}`,
component: path.resolve(`./src/templates/application.js`),
context: {
node,
},
});
});
};
7 changes: 7 additions & 0 deletions gatsby-ssr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
/**
* Implement Gatsby's SSR (Server Side Rendering) APIs in this file.
*
* See: https://www.gatsbyjs.org/docs/ssr-apis/
*/

// You can delete this file if you're not using it
Loading

0 comments on commit e008180

Please sign in to comment.