Giter Site home page Giter Site logo

rainzhop / ssg-dataset Goto Github PK

View Code? Open in Web Editor NEW

This project forked from epogrebnyak/ssg-dataset

0.0 0.0 0.0 468 KB

Open reproducible dataset on static site generators (SSG) popularity.

Home Page: https://ssg-dataset.streamlit.app

License: GNU General Public License v3.0

Shell 0.89% Python 64.53% Jupyter Notebook 31.47% Just 3.12%

ssg-dataset's Introduction

pytest count release

Popularity of static site generators

Static site generators are tools to create documentation, blogs and landing pages.

This repo contains Github data (stars, forks, issues, create and last modified dates) for 40+ popular open source static site generators (SSG) and the code to create the dataset. There is also a Streamlit app and a Google Colab notebook to explore the dataset.

Motivation

Why is this data interesting? It help to find answers to the following:

  • Why people are building new stuff in a field where there are dominant projects?
  • What drives a SSG adoption by users?
  • Who are SSG project maintainers and what is their motivation?
  • What makes a SSG project a success and why it might fail?
  • Are well-designed themes more important than a SSG engine?

I also share ideas on picking the right SSG tool for your own project based on SSGs I tried myself.

Try live on Streamlit

Open in Streamlit

Streamlit app lays out a data story about SSGs with several visualisations.

Streamlit Screenshot

There is also a post in Streamlit Showcase forum about v.0.4.3 release.

Google Colab

Demo in Google Colab

Colab is a notebook with data downloaded and some code for charts.

Dataset

Download CSV DOI

The stable URL for dataset is https://raw.githubusercontent.com/epogrebnyak/ssg-dataset/main/data/ssg.csv

To download:

import pandas as pd
url = ("https://raw.githubusercontent.com/"
       "epogrebnyak/ssg-dataset/main/data/ssg.csv")
df = pd.read_csv(url, parse_dates=["created", "modified"])

How to update dataset

Get a Github token

You will need a Github token to retrieve stats for many repos. Write out .config.env at a directory where you run your Python code:

# Your Github username
GH_USER="epogrebnyak"

# Your personal Github token
GH_TOKEN="ghp_AzWYbshEUQ6sQhgxgQ7QyYFJX7g9Tn2uR4sG"

Your personal Github token is here and token documentation is here.

Update CSV file

The CSV file is generated from a list of Github repos grouped by programming language. This repo list is stored in a YAML file in the following format:

Go:
  - gohugoio/hugo
JavaScript:
  - gatsbyjs/gatsby
  - hexojs/hexo
  - vuejs/vuepress
Python:
  - mkdocs/mkdocs
  - getpelican/pelican
  - sphinx-doc/sphinx

Use ssg.yaml_to_csv() to update CSV file:

from ssg import yaml_to_csv

yaml_to_csv("data/ssg.yaml", "data/ssg.csv")

You can also run example/update.py to make new data/ssg.csv:

poetry run python example/update.py

The update.py script will also writes metadata.json file.

Adding more SSGs to dataset

You can make a PR to update SSG list, just add a new line to YAML file.

More links about SSG

Recent articles

Performance

Static Site Generators Build Performance Testing:

  • framework-based SSG: gatsby, next, nuxt
  • non-framework-based SSG: astro, eleventy, hugo, jekyll

Structure

Listings

Samples

Hosting services

Archive articles

Citation

Evgeny Pogrebnyak. (2021). Github data for static site generators (SSG) popularity (Version 0.1.2) [Data set]. Zenodo. http://doi.org/10.5281/zenodo.4429834

ssg-dataset's People

Contributors

epogrebnyak avatar finrodnom avatar finrod-felagund23 avatar blackary avatar rainzhop avatar

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.