Giter VIP home page Giter VIP logo

staticgen's Introduction

⚠️ We have moved staticgen.com to jamstack.org/generators

You can still contribute at https://github.com/jamstack/jamstack.org/ or join us on Slack at http://jamstack.slack.com/


staticgen.com

staticgen.com, a leaderboard of top open-source static site generators.

Netlify Status

Contributing

Missing a static site generator here? Just fork the repo and add your generator as a <name>.md in the content/projects folder.

Make sure to follow the following rules:

  • Static Site Generation: No "flat-file CMSs" or similar tools. The program must be able to output a static website that can be hosted in places like Netlify, S3 or Github Pages.
  • Open Source: The generator must have a public repository on Github that we can link to and pull in stats from.
  • Stick to the format: Fill out all the same fields as the other static site generators in content/projects.
  • Short description: Keep all the details for the body text, keep the description for the overview page short and sweet.

Usage

Be sure that you have the latest node and npm installed, then clone this repository and run:

npm install
npm start

In order to successfully retrieve Twitter followers and repository stars (GitHub or GitLab), you will need authentication keys for these services.

For GitHub, all you'll need is a personal access token with the repo and gist scopes. This can be generated at https://github.com/settings/tokens. For GitLab, you'll also need a personal access token. This can be generated at https://gitlab.com/profile/personal_access_tokens. For Twitter, you need to create an application at https://apps.twitter.com to get the necessary tokens. When deploying, you must set the environment variables per the example below. If you are developing locally, you can set these in a .env file at the root of the repo.

GITHUB_TOKEN=examplekey123abc
GITLAB_TOKEN-examplekey123abc
TWITTER_CONSUMER_KEY=examplekey231abc
TWITTER_CONSUMER_SECRET=examplekey321abc
TWITTER_ACCESS_TOKEN_KEY=examplekey231abc
TWITTER_ACCESS_TOKEN_SECRET=examplekey321abc

GitHub, GitLab, and Twitter data is cached in the .tmp directory, and online in a Gist. If neither has data newer than 24 hours old, fresh data is fetched from GitHub, GitLab, and Twitter. Fetching caching occur automatically during the build.

Then visit http://localhost:8000/ - Gatsby will automatically reload when changes occur.

To test a production build locally, do:

npm run stage
npm run serve

To run a production build for deployment:

npm run build

Netlify

StaticGen.com is built and maintained by Netlify, a hosting and automation service for static websites and apps.

License

StaticGen is released under the MIT License. Please make sure you understand its implications and guarantees.

staticgen's People

Contributors

alexchopin avatar anishkny avatar arnaudligny avatar bdougie avatar biilmann avatar calavera avatar cekvenich avatar davidsatimewallin avatar dbohdan avatar dependabot-preview[bot] avatar eliwilliamson avatar erquhart avatar fool avatar huguestennier avatar johnroper100 avatar kyleamathews avatar leonstafford avatar lesliecdubs avatar manvel avatar markseuffert avatar noraj avatar philhawksworth avatar renovate-bot avatar renovate[bot] avatar rybit avatar scottmathson avatar thanethomson avatar verythorough avatar vsopvsop avatar zachleat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

staticgen's Issues

nextjs is not a static site generator

One of the requirements of a static site generator is that it should generate a static site.
But when I use it, it uses nodejs locally as a server.
It has an "export" function, which supposedly can generate a static site, but it does not work.
You get an error:
Could not find "exportPathMap" function inside "next.config.js"
Looking through the documentation, it looks like you need to do more coding to get all that to work. It seems like static-site generation is an afterthought for nextjs and very poortly implemented, if anyone even gets it to work.

I suspect that's not the main Use Case anyway. Going through the tutorial and the overview, it hardly mentions that Use Case. It's deeper in the docs, and I honestly would have missed it entirely if it hadn't been for the fact that the StaticGen site pointed me to it.

My recommendation is to remove it from your list until such time they decide to support it in earnest. Other than that, nextjs looks like a great tool that I would probably use in the future, and recommend to others -- but not for static site generation.

add formatting language field?

wouldn't it be useful to know which languages are allowed for those static site generators? most of them probably use markdown, but some, like hakyll, allow basically any language that pandoc can support, which i see as a huge plus.

'All languages' selection in the language dropdown not working

If you drop down the language selection and select a language, when go back and select 'All languages' to remove the filter it has no impact and the page remains filtered on the last language you selected.

Steps to Reproduce

  1. Drop down the language selection and select a language
  2. Go back and select 'All languages'

new copy

New headline: Get started with 1 click

New copy:
Introducing the “Deploy to Netlify” button on select generators to help you deploy new sites from generator-specific templates with a single click. Get a site up in minutes, with custom domain, HTTPS and continuous delivery completely free of charge. (Want your own Deploy to Netlify button? Learn more here)

Unable to find License details

Could not find license details in readme or a separate license file.

For example, please see the readme file of passport-local-mongoose @ https://github.com/saintedlama/passport-local-mongoose#license, the readme file mentions the license and points to it.

Mentioning the license at end of readme seems to be becoming the norm.

If this project is open source, please consider using MIT or BSD.

Please see my pull request. I have updated the readme file to mention MIT license, if it is acceptable to you

Localization (i18n)

I would like to start a Pull Request with the internationalization of the site, how can we proceed?

bundle install doesn't work

I have cloned the repo following the instructions on the project home page. When running the bundle install command I get the following error whilst the system is trying to install the json gem:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /tmp/bundler20170622-3451-iadfh9json-1.8.1/gems/json-1.8.1/ext/json/ext/generator

/usr/bin/ruby2.3 -r ./siteconf20170622-3451-fln4n8.rb extconf.rb
creating Makefile

current directory: /tmp/bundler20170622-3451-iadfh9json-1.8.1/gems/json-1.8.1/ext/json/ext/generator
make "DESTDIR=" clean

current directory: /tmp/bundler20170622-3451-iadfh9json-1.8.1/gems/json-1.8.1/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
In file included from generator.c:1:0:
../fbuffer/fbuffer.h: In function ‘fbuffer_to_s’:
../fbuffer/fbuffer.h:175:47: error: macro "rb_str_new" requires 2 arguments, but only 1 given
VALUE result = rb_str_new(FBUFFER_PAIR(fb));
^
../fbuffer/fbuffer.h:175:20: warning: initialization makes integer from pointer without a cast [enabled by default]
VALUE result = rb_str_new(FBUFFER_PAIR(fb));
^
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /tmp/bundler20170622-3451-iadfh9json-1.8.1/gems/json-1.8.1 for inspection.
Results logged to /tmp/bundler20170622-3451-iadfh9json-1.8.1/extensions/x86_64-linux/2.3.0/json-1.8.1/gem_make.out

An error occurred while installing json (1.8.1), and Bundler cannot continue.
Make sure that gem install json -v '1.8.1' succeeds before bundling.

In Gemfile:
middleman was resolved to 3.3.2, which depends on
uglifier was resolved to 2.5.0, which depends on
json

The problem has been fixed in json 1.8.2.

Algolia or lurn.js search approch

I would like to start this discussion, I do not know if it has already started but we have to talk about how to implement a search engine for this amazing site.

Add next.js

Seems next.js should be added, and it'd be #3 on the list!

I'll submit a PR if I get some cycles...

Reword "Open Source" rule

Open Source: The generator must have a public repository on Github that we can link to and pull in stats from.

This sentence can be misinterpreted and lead to think that you reduce "open source" to "github". Not sure what to propose, maybe simply replace "Open Source:" with "Hosted on Github:".

SSG's beanchmarking

I understand that this is not a chat service and I do not intend to use it for that, my intentions are purely at the discretion of discussion and with the intention of opening a pull request.
Considering that the compilation time between the SGGs can vary and that science needs an open standard of categorization of data, experiments and benchmarking will be performed evaluating the static site generators in the compilation time period and verifying the behavior with 1000, 100000, 1000000 records of 10kb and 100kb. This will be able to discuss the operation of static site generators, the data categorization method used by these platforms and how this technology can benefit teaching by developing a tool for creating websites for teachers.
Do you think this test will work? I accept contributions.

Plugins and Extensions data

It is extremely important to map out the extensions that the SSG may have, I believe that the ideal moment for this discussion is now, what do you think?

Jekyll, for example, has a large community of plugins and few places have all mapped ..

prevent build breakages

Hi @biilmann @erquhart @eliwilliamson and team,

First up love what you guys are doing with netlify/staticgen - big fan of the JAM stack!

In two previous PRs I made (#340, #348), builds broke (1, 2) due to some repo moving and not related to the change I was making.

Since upstream dependencies (repos out of staticgen's control) could break you, it would be nice to have some sort of cron build checker going on - it doesn't have to deploy, just ensure build does not break and open issue if it does.

Alternately, you could have a TravisCI project which allows daily cron builds but more frequent than daily would be better.

Not sure if this is already done - or on the cards?

Enter only the package name as in: lavender/lavender

Somewhere in Github's vast expanses of data, they store descriptions, language, license, (not templates) and homepages. How can we modify this here pile of utility amazing that you have to use as its input a gist that has a list of repos like:

chicken/chicken
padthing/padthing
horseydog/horseydog
etc/etc

and then the script does the rest?

A) what ya think?
B) How might I go about making it happen?

Thanks!

-Jake

Coffeescript libraries are labeled "javascript"

Brunch & Wintersmith are is written in CoffeeScript, not Javascript. I filtered by JS because I know how to read/write javascript. I know I could learn CS but I could just as well learn Ruby. 😸 I just want to find a generator I can use/extend without having to learn a new language. Thx!

WordPress-like blogging system that outputs a static site OK?

I'm working on a project that is essentially a WordPress-like blogging system, but its output is entirely static. Would that count as a static site generator? (Also, it's still pre-alpha; if it needs to be at least alpha-ready before being listed, I'll wait on that.)

Add latest commit date to the list of projects

While not always relevant because the latest commit date might not reflect the activity of a project,
it still gives some insight on whether the project is still alive or abandoned.

Feature Request: Show install size of each package

I think it would be nice to show how large each package is before the user installs it.

For npm packages, we can get a badge from styfle/packagephobia#24

For example:

<div class="description"><%= project.description %></div>
<div class="install-size">
 <img alt="install size" src="https://packagephobia.now.sh/badge?p=<%= project.name %>" />
</div>

Is project.name the correct property to find the name on npm?

Remove Unmaintained Static Site Generators?

Wouldn't it be a good idea to remove some of the unmaintained static site generators?

Perhaps open an issue in the repositories that haven't had commit activity within the past ~6 months, clearly stating that if no reply is received, it will be removed from www.staticgen.com.

If the issue is not replied to within n days, remove it.

This would allow new, but actively maintained libraries to get noticed instead of being mixed with abandoned libraries that never took off. Thoughts?

I could possibly help with some of this.

Automate programming language lookup?

  1. Freakin love your tool. Thanks!
  2. How might I allow for an API lookup of the programming language, so that we don't type it for each project?

Thanks!

Supported markup formats field for each Infobox

Hi,

I would like to suggest that each infobox (i.e., the infoboxes shown for each static site generator [SSG] at staticgen's homepage, staticgen.com) also includes a field that shows the supported markup formats for the SSG in question. Similarly to how each infobox also lists supported templating engines. Now I know that many SSGs have some default (or out-of-the-box) supported formats, but they also have optional extensions that add support for additional formats, so I suggest that those that are supported by default and those that require some extra configuration (like the installation of optional extensions) be distinguished from one another, somehow. Perhaps by italicizing those that aren't supported out-of-the-box.

The reason for this suggestion is pretty simple. I personally, as someone interested in SSGs (and I doubt I'm the only one), am interested in which SSGs support which markup formats. As it makes it easier for me to search for those that are say compatible with posts written in asciidoc and those that only support markdown posts.

Thanks for your time,
Brenton

Nuxt deploy to Netlify error

Used this function to create a basic project.
Deploy results in an error

7:12:13 PM:  + 3 hidden assets
7:12:13 PM: ERROR in ./node_modules/babel-loader/lib?{"babelrc":false,"cacheDirectory":false,"presets":[["/opt/build/repo/node_modules/babel-preset-vue-app/dist/index.common.js",{"targets":{"ie":9,"uglify":true}}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./layouts/default.vue
7:12:13 PM: Module not found: Error: Can't resolve '~components/Footer.vue' in '/opt/build/repo/layouts'
7:12:13 PM:  @ ./node_modules/babel-loader/lib?{"babelrc":false,"cacheDirectory":false,"presets":[["/opt/build/repo/node_modules/babel-preset-vue-app/dist/index.common.js",{"targets":{"ie":9,"uglify":true}}]]}!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./layouts/default.vue 9:0-46
7:12:13 PM:  @ ./layouts/default.vue
7:12:13 PM:  @ ./.nuxt/App.js
7:12:13 PM:  @ ./.nuxt/index.js
7:12:13 PM:  @ ./.nuxt/client.js
7:12:13 PM:  ERROR
7:12:13 PM:   Error: Webpack build exited with errors
7:12:13 PM:   

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.