jamstack / jamstack.org

The official Jamstack site
https://jamstack.org/
2.84k stars 639 forks source link

Re-add filters and sorting by programming lanuage on Site Generators and Headless CMS pages #401

Closed kolebayev closed 3 years ago

kolebayev commented 4 years ago

Hi, it will be useful to sort generator cards by programming language. Example attached below, text names can be replaced with logos generators-sorting-update

philhawksworth commented 4 years ago

Thanks @kolebayev! Yes, we plan to get filtering in soon. That's a good enhancement.

I like the idea of showing some of the branding for the generators too, although only a fraction of the long list have logos. We'll have to give that some thought on how it might best be flexible.

ajmas commented 4 years ago
ajmas commented 4 years ago

Is the site purely static? If it is, then it sounds like generating a keywords or page index JSON that could be loaded and searched could be an approach. One idea:

{
  "fields": {
    "languages": ["javascript", "python", "java"],
    "categories": ["generators", "headless-cms"],
    "licenses": [],
    "keywords": [],
  },
  "pages": [{
    "title": "Next.js",
    "category": "generators",
    "path": "/generators/next/",
    "keywords": ["lang:javascript", "framework:react"]
  }, {
    "title": "Ghost",
    "category": "headless-cms",
    "path": "/headless-cms/ghost/",
    "keywords": ["lang:javascript", "open-source"]
  }]
}

In many ways this would just be all the front-matter combined into one file.

Thinking it would be loaded via ajax and then searched. It may not be the most optimal, but it may be good enough? BTW would be curious how big a file this would be?

noraj commented 4 years ago

Why introducing regressions from staicgen.com?

ajmas commented 4 years ago

@noraj you mean staticgen.com (which redirects to jamstack.org)? Are you meaning to take reintroduce old code, or something else?

noraj commented 3 years ago

@noraj you mean staticgen.com (which redirects to jamstack.org)? Are you meaning to take reintroduce old code, or something else?

On staticgen.com there were filtering and sorting and on the new jamstack.org there isn't anymore so that's a regression of features, the new website may look more modern but is less clear and with less features.

Buzut commented 3 years ago

If you add filters, in addition to language, you can also add by templating engine and licence (as this was the case on staticgen.com).

staticgen.png

And the same goes for CMS being able to filter by CMS type (API vs git-based), SSG compatibility and licence (and or ability to self host) is of paramount importance. It saves yourself a lot of time if what you need is Git based compatible with 11ty (you'll have less than 5) vs having to read everything if there's no filtering available.

It could be also really nice to have either a filter or an indicator regarding the language it's built in when it's open source (like in icon directly visible on the card). Some will prefer a language they know or something that's installed/compatible with their server.

headlesscms.png

zachleat commented 3 years ago

Staticgen

Previous sort functionality:

image

Headless CMS

Previous sort: image

CMS type: image

License: image

zachleat commented 3 years ago

Filed #473 as a separate task if you’d like to follow along there.

zachleat commented 3 years ago

These changes are pushed up and y’all can have a sneak peek if you’d like! https://github.com/jamstack/jamstack.org/pull/472

zachleat commented 3 years ago

🚢🛳⛴🚀📦 (shipped)

zachleat commented 3 years ago

Filed the logos idea at #477.