Coder Social home page Coder Social logo

bevry / staticsitegenerators-list Goto Github PK

View Code? Open in Web Editor NEW
222.0 11.0 190.0 1.37 MB

A comprehensive, partially automatically generated comparison of static site generators

Home Page: https://staticsitegenerators.net

License: Other

TypeScript 100.00%
static-site-generator awesome-list static-site-generation

staticsitegenerators-list's Introduction

Static Site Generators Listing

NPM version NPM downloads GitHub Sponsors donate button Patreon donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button

A comprehensive, partially automatically generated comparison of static site generators with some minimal meta data about them

Contributing

Requirements

There are generally three types of Content Management Systems:

  1. Dynamic Servers (e.g. WordPress, Ghost, DocPad, Harp) — these allow you to have re-render on every request abilities
  2. Flat File Content Management Systems (e.g. Yellow, Techy) — these allow you to write your content as files
  3. Static Site Generators (e.g. Jekyll, DocPad) — these generate a static website from your input that you can deploy anywhere

Currently, this listing is only for projects that relate to Flat File Content Management Systems and/or Static Site Generators, but not for projects which relate only to Dynamic Servers (such as WordPress and Ghost).

Adding

Entries are stored within the source/list.ts file.

Entries must conform to the RawEntry type.

Testing

When you submit your pull request, your submission will be automatically tested, so no need to test locally, however if you do wish to, you can:

  1. Install Node.js (5-15 minutes)

  2. Fork the project and clone your fork - guide (5 minutes)

  3. Install local dependencies (1 minute)

    npm install
  4. Running the tests (1 minute)

    npm test
  5. Make any changes that the tests indicate, commit your changes, and submit

Usage

Complete API Documentation.

Using the npm package is done like so:

const listing = require('staticsitegenerators')

// get the hydrated data
console.log(listing.hydrated)

// get the raw data
console.log(listing.raw)

History

Discover the release history by heading on over to the HISTORY.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

GitHub Sponsors donate button Patreon donate button Flattr donate button Liberapay donate button Buy Me A Coffee donate button Open Collective donate button crypto donate button PayPal donate button Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

License

Unless stated otherwise all works are:

and licensed under:

staticsitegenerators-list's People

Contributors

arnaudligny avatar balupton avatar davidsiaw avatar davisonio avatar dbohdan avatar denisdefreyne avatar dependabot-preview[bot] avatar dependabot[bot] avatar dertuxmalwieder avatar igapyon avatar ipavl avatar japh avatar jaspervdj avatar jevets avatar klml avatar lomiglavnek avatar manvel avatar mblayman avatar micrypt avatar mixu avatar styfle avatar surajshukla avatar taufik-nurrohman avatar tomtom avatar veraellyunjie avatar vikrantrathore avatar wcaleb avatar wifiextender avatar wikismith avatar yaph 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

staticsitegenerators-list's Issues

add more fields to the description

It would be nice to add more fields to the description here. For example, we could have:

  • maturity (alpha/beta/etc)
  • last release (number and date)
  • programming language and LOC
  • syntax (e.g. mdwn, pandoc, etc)
  • templating system
  • other features (cgi editing support, rsync deployment and what not)

I would even dare saying that the link to the github project isn't that important and could be replaced by just a link to the homepage... if we want to save space, that is.

AGPL is missing

The Affero GPL is missing as valid license. There are some SSG published under this license, for example Pelican.

Pelican is written in Python not HTML

In the list, HTML is in Pelican's language column.
Pelican is a static site generator, written in Python, that requires no database or server-side logic.(in Pelican Development Blog)

Could I fix it and send a pull request?

Move to SPDX codes for our licenses

So SPDX has emerged as the standard for license codes and formats — http://spdx.org/licenses/ — perhaps it would make sense for us to move to it over our current ad-hoc methodology now.

This would eliminate our current categorisation of the licenses (e.g. all GPL licenses together), but that may not actually be that useful in practicality over having the specific licenses actually listed.

Dual licenses could still be listed as the SPDX format supports that: https://github.com/kemitchell/spdx.js#composite-license-expressions

What's everyone's thoughts? /cc @bevry/ssg-listing-team

Removed handcrank due to lack of data

No SPDX license information or created_at date could be found. Original entry:

  {
    "name": "handcrank",
    "license": "BSD",
    "website": "http://pythonhosted.org/handcrank/",
    "language": "Python"
  },

When complaining about automated fields, output specifically which fields for which entries are causing the problem

As the comparison diff is useless...

Example problem: #307 (comment)

PR welcome for whoever wants to take this.

The current code for it is at

test('source data was the same as the corrected data', function () {
equal(source, result, 'there was automated data written into the manual listing, this has been removed, run the tests again')
})

Perhaps, we just need a better diffing algorithm, that just lists the keys. Could also be a key sorting issue, which https://github.com/bevry/sortobject could fix, if sorting is the issue.

Bug: Bitbucket entries not listed

As of now, there is exactly one entry (Latemp) in the list that has a bitbucket field (as described in the README).

But this entry does not appear on the website.

Obviously, there seems to be a bug.

Separate flat files cms and static site generators

I think these two categories are very different and it would be good to separate them.

A flat system cms has no sql database, but it doesn't mean there's only one file modified per post, or that it is easily human-writable. I know one (pluxml) and files are in xml, so don't think you can easily write it and upload on the server, it's just a mess to do. It has to be managed with administation system for efficients result. Their use are closer cms use than static generator.

A new key could be introduce in list.yaml such as type : "flat" or type: "static"

Move to a JSON file

Would be nice for client-side people to be able to use it, without having to look into client side yaml parsers

Move repo to bevry organisation

Hi @jaspervdj

Can we move this repo to the Bevry organisation? I can get extra collaborators going and make sure the the Webhook URL for regenerating the website is always up to date (it is now out of date as the website hosting has changed).

I've invited you as a member of the Bevry org, so you should be able to accept that invite, then if you want transfer the repo across yourself via the repo settings.

Let me know your thoughts and if you have any questions.

Removed Prosopopee as repo is failing

  {
    "name": "Prosopopee",
    "license": "GPL",
    "github": "Psycojoker/prosopopee",
    "language": "Python",
    "description": "a static website generator a clone of exposure.co or medium"
  },

Add support for BitBucket repositories

Generator projects primarily hosted at BitBucket would benefit from extracting follower and fork stats not only from GitHub but also from BitBucket. For instance poole has more followers and forks at BitBucket.

Removed JBlogfy as repo and website are failing


  {
    "name": "JBlogfy",
    "github": "wifiextender/jblogfy",
    "license": "GPL",
    "website": "https://wifiextender.github.io",
    "language": "JavaScript",
    "description": "Static blog written in JavaScript."
  },

Community maintained?

I'd love to help maintain this repository, I'm working on a campaign that will spread the benefits of static site generators, and would like to use this listing in it.

Site down: staticsitegenerators.net

It says

An error has occured when parsing the latest static site generators data feed:

YAMLException: duplicated mapping key at line 1829, column 28:
      website: "http://vlv.io/"
                               ^
  at generateError (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:161:10)
  at throwError (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:167:9)
  at storeMappingPair (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:304:7)
  at readBlockMapping (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:1064:9)
  at composeNode (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:1327:12)
  at readBlockSequence (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:923:5)
  at composeNode (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:1326:12)
  at readDocument (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:1490:3)
  at loadDocuments (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:1546:5)
  at Object.load (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/js-yaml/lib/js-yaml/loader.js:1563:19)
  at module.exports.yaml.parse (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/out/lib/plugins.js:82:37)
  at generateParser (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/out/lib/feedr.js:246:16)
  at Request._callback (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/out/lib/feedr.js:474:18)
  at Request.self.callback (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/request/request.js:198:22)
  at emitTwo (events.js:87:13)
  at Request.emit (events.js:172:7)
  at Request.<anonymous> (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/request/request.js:1035:10)
  at emitOne (events.js:82:20)
  at Request.emit (events.js:169:7)
  at IncomingMessage.<anonymous> (/home/travis/build/bevry/staticsitegenerators-website/node_modules/feedr/node_modules/request/request.js:962:12)
  at emitNone (events.js:72:20)
  at IncomingMessage.emit (events.js:166:7)
  at endReadableNT (_stream_readable.js:893:12)
  at doNTCallback2 (node.js:429:9)
  at process._tickDomainCallback (node.js:384:17)

Removed desi due to lack of website or repo information

  {
    "name": "Desi",
    "license": "Apache",
    "language": "JavaScript",
    "description": "The DIY blog platform for normal people. Written to run in your browser, happens to run in node.js. Built with developers in mind."
  },

Needs at least website or github field.

Add licenses

Would be good to include licenses in this listing, as sometimes a license may be incompatible or undesirable. Especially if we get more closed-source premium offerings in the listing.

Publii

You miss the greatest Static Site Generator: Publii :-)!

The great thing about Publii is that, it isn't just a Static Site Generator, it's also a full-fledged Content Management System!

You can find more about Publii here:
https://getpublii.com/

License: GPL-3.
Language: JavaScript
Created: here you can find the first blog post: https://getpublii.com/blog/publii-static-website-cms.html
Updated: 9 november 2020, +/- 3 months ago

skx/templer included twice.

Although I appreciate twice as much traffic it seems a little unfair that my project is listed twice.

Please consolidate the two skx/templer entries!

Removals

This issue can be the accumulation of removals. Post a comment if you remove one with the content at time of removal.

API for querying SSG data

There is currently no way to programmatically consume all SSG data. The data is partially in the YAML file, and additional data is fetched in the ssg.rb file, but the latter simply prints the fetched data and does not allow this data to be reused. This makes it hard to use this data in the nanoc web site.

Some suggestions:

  • Have a bin/print-ssgs executable which does the printing, and lib/ which contains the code for fetching SSG data.
  • Let ssg.rb print output in JSON format.

Get language automatically?

GitHub API provides access to repo languages. I guess Octokit must provide that too. I think it might be possible for you to generate that language property rather than having to type it manually.

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.