Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Bevy awesome to website #156

Merged
merged 30 commits into from
May 28, 2021
Merged

add Bevy awesome to website #156

merged 30 commits into from
May 28, 2021

Conversation

mockersf
Copy link
Member

@mockersf mockersf commented May 25, 2021

cd generate-assets && ./generate_assets.sh

  • clones awesome Bevy
  • run a python script to transform existing README.md into toml files (this will be removed once awesome Bevy is in the new format)
  • run a Rust script to transform those files into section and articles for Zola with valid frontmatter

With this version, everything is ordered alphabetically. Once we are ready to migrate awesome Bevy, we can add a custom order for some items if we want. Only information available from the readme are displayed, so no license, no picture, ...

It can be reached from the learn section, under "Awesome Bevy beta"

CI is not setup yet

@mockersf mockersf marked this pull request as draft May 25, 2021 03:22
@mockersf
Copy link
Member Author

Added CI:

</div>
{% endif %}
<div class="card-text">
<a class="card-title" href="{{ post.extra.link }}">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think clicking any part of the card should link to the post.extra.link. Can we wrap the whole card in an <a> element?

@cart
Copy link
Member

cart commented May 25, 2021

Great work! I love that you included migration automation.

I think this would benefit from a "table of contents sidebar". Maybe we can steal aspects of the Bevy Book impl?

Ultimately I'm thinking something along the lines of:

  • Featured (default)
  • Categories
    • Apps
      • Games
      • Tools
    • Plugins
      • 2D
      • 3D
      • etc
    • Learning
    • etc

With this version, everything is ordered alphabetically.

Can we randomize the order (within each category) on each build for now? I definitely think in the near future we should build an "algorithm" to boost things (arbitrary curation, github stars, good licenses, etc). But in the short term randomizing feels fairer than alphabetizing.

@cart
Copy link
Member

cart commented May 25, 2021

I also think we should start considering alternative names. This will likely continue to evolve away from the "awesome-style" list format (which many people aren't familiar with in the first place).

Some ideas:

  • Bevy Assets
  • Bevy Asset Library
  • Bevy Store
  • Bevy Asset Store

I'm a little hesitant to adopt "store" terminology as that implies "sales". We might get there eventually, but imo thats a separate step (and reserving "Store" for that step would help drive the point home). So I'm thinking "Bevy Asset Library" has my vote (with "Bevy Assets" as a close second)? Its a bit unfortunate that it overlaps with the bevy_asset crate, but I doubt that in practice this will cause confusion. "Asset Stores" are basically expected for general purpose engines these days, so not including "Asset" in the name would also cause more confusion than its worth.

@cart
Copy link
Member

cart commented May 25, 2021

I don't think we need to build a "featured" section in this PR, but I do think we should add a table of contents if we want this to be a replacement for the awesome-bevy readme. Right now finding "relevant" content involves a lot of scrolling. We should probably also make the card height a bit smaller.

@mockersf
Copy link
Member Author

  • whole card is a link. Zola seems to have a bug here when the card description also contains a link, I'll check more
  • added a toc
  • order is now random in each section
  • reduced card height

For the name, I'm not a fan of speaking of assets if we keep apps/games and learning in it

@mockersf
Copy link
Member Author

Zola seems to have a bug here when the card description also contains a link, I'll check more

This is not a bug in Zola but a limitation of html: you can't have nested links. If we want the whole card to be clickable we'll need to forbid links in descriptions... (which I think we shouldn't)

@cart
Copy link
Member

cart commented May 26, 2021

This is not a bug in Zola but a limitation of html: you can't have nested links. If we want the whole card to be clickable we'll need to forbid links in descriptions... (which I think we shouldn't)

Hmmm. Ultimately I think we'll want to give each item its own "page". This would allow us to include more information:

  • A long form markdown description of the thing (this could be readme content for crates)
  • Github star counts
  • Screenshot carousels and/or videos
  • More label / tag information
  • Crate version info

In that context, maybe its ok for descriptions to not include markup. They could be more like "github repo descriptions", which are short markup-free descriptions of a thing:
image

That frees us up to make the whole card a link.

@cart
Copy link
Member

cart commented May 26, 2021

For the name, I'm not a fan of speaking of assets if we keep apps/games and learning in it

This is a fair point, but its worth pointing out that unity does put learning under the "asset store umbrella" (at least kind of ... its just a link to their Unity Learn platform)

image

Defold also puts everything under the Assets umbrella:
image

Maybe we could adjust our categories to make this clearer?

  • Apps
    • Games
    • Tools
  • Learning
    • Tutorials
    • Migration Guides
  • Assets
    • Plugins
    • Crates
    • 2D
    • 3D
    • Templates
    • Etc

I still think I prefer "Assets" over "Awesome Bevy" or just "Awesome" (and I want to avoid "Store" for the reasons mentioned above). "Library" is more generic, but also has more of a "reading" implication than a "tooling and content" implication. If you have other ideas, I'm all ears, but I think "awesome" needs to go.

@mockersf
Copy link
Member Author

To go further I think we would need to start changing the awesome-bevy repo (add a few weights for some things we want order, change categories, ...).

Do you want to do that now? Maybe start a new repo bevy assets where I could set it up?

@cart
Copy link
Member

cart commented May 26, 2021

Agreed!

I think we ultimately want to just rename the awesome-bevy repo to something like bevy-asset. This has the benefit of redirecting old awesome-bevy links and preserving github stars.
(although this could easily be confused with the bevy_asset crate, so I'm open to suggestions there).

Maybe we could start by making a new branch and feeding off of that branch here?

@cart
Copy link
Member

cart commented May 27, 2021

Made a few tweaks to unify style / enable nav bar collapse/toggling. I also added Assets to the header bar.
(these are just proposals ... feel free to push back on them or make changes)

@cart
Copy link
Member

cart commented May 27, 2021

Also do you have thoughts on doing 3 cards per row by reducing the card width to 30%?

I think it improves information density / makes scrolling through everything a bit less intense:
image

@mockersf
Copy link
Member Author

Maybe we could start by making a new branch and feeding off of that branch here?

Ok for me 👍

Also do you have thoughts on doing 3 cards per row by reducing the card width to 30%?

I was worried it would leave less place for each card, but it should be OK with the plan to have dedicated pages later, so 👍

@cart
Copy link
Member

cart commented May 27, 2021

Cool cool. I think ultimately we'll adopt a more "vertical" card layout, which should help. I like the general direction of this Figma design @giusdp submitted on discord (although I would probably tweak things, such as removing the "view" button and adding the "description" to it):

image

https://www.figma.com/proto/BAWOVsxMB8JrQnfpGaIAIW/Bevy-Store?node-id=2%3A1&scaling=min-zoom&page-id=0%3A1
https://discord.com/channels/691052431525675048/695741366520512563/839584693832646738

@cart
Copy link
Member

cart commented May 27, 2021

I added a "hack" that enables us to pull categories to the top based on their title. I think Learning should probably come first, followed by Plugins and Crates.

@mockersf
Copy link
Member Author

for ordering, I would prefer to be able to specify a "weight" in the source repo in the section toml, and then pass that weight to the front matter for Zola ordering, defaulting to the computed weight based on alpha for section, random for content

@cart
Copy link
Member

cart commented May 27, 2021

Ooh yeah thats much better.

@cart
Copy link
Member

cart commented May 27, 2021

@mockersf
Copy link
Member Author

started a pr of awesome-bevy on that branch: bevyengine/bevy-assets#102
and updated this PR to work off that one

also added order for some things, not as pleased on how to do it as I was in my head before coding it but it works

sass/_assets.scss Outdated Show resolved Hide resolved
@PhaestusFox
Copy link

can I suggest resources as the name instead of assets? personally, when I hear assets, I'm imagining things directly used by the game being created (plugins, systems, textures, ext) and not necessarily things that may indirectly help the developer (tools, tutorials, guides). altho all these things would be an "asset" to have I personally don't feel that they should be called assets directly, that should be saved for things directly relating to the bevy_asset crate/the game dev use, they are all resources at our disposal tho. just my 2 cents on the name question

templates/assets.html Outdated Show resolved Hide resolved
@cart
Copy link
Member

cart commented May 27, 2021

can I suggest resources as the name instead of assets? personally, when I hear assets, I'm imagining things directly used by the game being created (plugins, systems, textures, ext) and not necessarily things that may indirectly help the developer (tools, tutorials, guides). altho all these things would be an "asset" to have I personally don't feel that they should be called assets directly, that should be saved for things directly relating to the bevy_asset crate/the game dev use, they are all resources at our disposal tho. just my 2 cents on the name question

I do think Resources better encapsulates all "things", but I'm still pretty set on using Assets in the name, at the very least for crates, plugins, templates, and other things "usable from games". Its hard to ignore the "asset culture" around game engines. Using any other name fails to create the associations required to tap in to that culture (on first impression). The fact that we also put learning resources and full games/apps under that category is largely for convenience so we don't need to create multiple systems. Strategically, if we need to choose between dropping "non-asset" content entirely, and including Assets in the name, I'd rather drop non-asset content entirely.

I think ultimately it might make sense to build another feature to organize community generated learning material, but in the short term I'd prefer to just include it under the Assets umbrella.

@cart
Copy link
Member

cart commented May 28, 2021

Alrighty one more thing before I think we should start focusing on migrating (ex: merge this, migrate awesome-bevy, update awesome-bevy readme to account for changes).

Currently the headerbar reads "assets.html". It should be "Assets":

image

@mockersf mockersf marked this pull request as ready for review May 28, 2021 19:47
@cart cart merged commit 7f1e165 into bevyengine:master May 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants