Git Product home page Git Product logo

greenlight's Introduction

Gatsby

Greenlight

guerrilla data for analysts with deadlines.

Website


"Gatsby believed in the green light, the orgiastic future that year by year recedes before us. It eluded us then, but that’s no matter—tomorrow we will run faster, stretch out our arms farther…. And one fine morning— So we beat on, boats against the current, borne back ceaselessly into the past."


What is Greenlight?

The mission of this project is to provide a way for people who want to host their data visualizations at their own domains with little effort and time. To accomplish this, the project is built using Gatsby, which to quote them is ”a modern web framework for blazing fast websites.” To find out more about Gatsby you can visit their GitHub Repo.

Table of Contents

Installation

  1. Install the Gatsby CLI

    # install the Gatsby CLI from NPM
    npm install -g gatsby-cli
  2. Install Greenlight Starter

    # create a new Gatsby site using the Greenlight starter
    gatsby new {your-project-name} https://github.com/API-Guild/greenlight
  3. Start the site in develop mode.

    # start the develop server from your new project
    cd {your-project-name}
    gatsby develop
  4. Open your site in the browser at http://localhost:8000

Usage

After installation you can add your markdown or MDX files to the /content/blog directory. It is recommended you create folders within this directory and store any assets, like images, in the folder created for each post you create.

Here is a diagram of the basic file structure of Greenlight.

.
|-.cache
|-content/blog/{your-files-here}
|-node_modules
|-public
|-src
|-static
|-.gitignore
|-.prettierignore
|-.prettierrc
|-gatsby-browser.js
|-gatsby-config.js
|-gatsby-node.js
|-LICENSE
|-package-lock.json
|-package.json
|-README.md

Contributions

We gladly welcome any contributions whether it is fixing bugs, documentation, or adding features. You can request an issue, fork the repo, work on the issue and then submit a pull request.


LICENSE

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.


Maintainers

Stephen Price
Trevor Smith

greenlight's People

Contributors

rojorevolution avatar stephenlprice avatar trevorsmithbanjo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

lamoliveira

greenlight's Issues

refactor SEO component according to social media and Google tutorial

replace gatsby-remark-prismjs with gatsby-remark-vscode

From the gatsby-plugin-mdx docs:

In some cases, like gatsby-remark-prismjs, it makes more sense to use a library like prism-react-renderer to render codeblocks using a React component.

https://www.gatsbyjs.com/plugins/gatsby-plugin-mdx/
https://github.com/FormidableLabs/prism-react-renderer

However the vscode plugin seems to have even better syntax highlighting and customization
https://www.gatsbyjs.com/plugins/gatsby-remark-vscode/?=syntax-highlighting

gatsby-remark-prismjs is not being applied correctly once gatsby-remark-images was added to the configuration.

A different solution would be to get the configuration to work with both plugins correctly

create thumbnails for visualizations using createRemoteFileNode

The process is explained here: https://www.gatsbyjs.com/docs/how-to/images-and-media/preprocessing-external-images/

This would allow users to embed visualizations and then let the node environment generate thumbnails (later optimized via sharp) to display them on the page until the data visualization loads and becomes interactive.

Thumbnails can be obtained in the same way as PDFs as outlined in this blog post: https://www.dataplusscience.com/TableauBatchPDF.html

add pagination functionality to posts

When a user creates a folder in /content/blog/ they can add metadata that indexes the post number and allow for pagination within the same post, i.e.:

blogpost page1
blogpost page2
blogpost page3

The UI for this blog post would have left and right arrows to navigation between pages of the same blogpost

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.