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

[WIP] 2020 re-design for the website #506

Merged
merged 190 commits into from Sep 20, 2020
Merged

[WIP] 2020 re-design for the website #506

merged 190 commits into from Sep 20, 2020

Conversation

samueldr
Copy link
Member

@samueldr samueldr commented Aug 27, 2020

Note that the year is not an invitation to make this a yearly event!


How we'll proceed:

  • Keep this PR as a draft until ready to be merged into master
  • Don't push to this branch directly
  • Open PRs against the feature/2020-redesign branch

This way we have this as the golden "next" website, it should be in a passable-to-ready state at any point, hopefully. At the moment this is opened, many pages are not fine, but depending on how we focus our energies either we can make them work fine first, or continue with the design of the components.

Note that criticism about the design in the sub-PRs will be broadly disregarded (but noted), to make the development go. Otherwise we'll stay stuck for long times in the implementation. Anyway most, if not all, of the suggestions can be bundled up at the end and fixed up at the end rather trivially; the implementation strives to stay flexible.


Broad strokes TODO

I'll try to expand on those broad strokes later.

  • Re-do and review JS interactive parts (still using "classic" jquery)
    • Base setup
    • Menu
  • Finish implementing the new design components
  • Have contributors (e.g. @garbas) figure out the contents

Misc tasks:

  • Find an appropriate way to minify the CSS (and find out if it even matters)
  • document browser compatibility (so that contributors/testers know where to test and where not to test)

Specific TODO

  • survey banner (lost while merging to reduce merge overhead)
  • install nix button in the nav bar (what should it do exactly?)
  • flavourful images for the "why nix" placeholder circles.
  • Lorem ipsum for examples text

@github-actions
Copy link
Contributor

@samueldr
Copy link
Member Author

Re-do and review the JS parts

Quite simply, take nothing for granted, as it was built with bootstrap's JS in mind, and not only that, but an older jQuery!

The plan is to

  1. Update jQuery
  2. Centralize components-based JavaScript behaviour

The latter part is weird, but basically I don't want to see any $(".home-page .overlay").[...], but have this all built through graceful degradation, based on the component that is implemented, in a generic manner.

In addition, all behaviour should prefer working through CSS class name changes, rather than modifying DOM properties, where possible.

And, building from that last sentence, all behaviour has to gracefully degrade for JavaScript-less usage. I'm thinking about text browser uses, and content blockers. The main idea (to be done) is to rely on either html.without-js to override behaviour, or preferrably html.with-js to know that the CSS behaviour can be used. You'll see what I mean in the upcoming PR with JavaScript behaviour implementation.

In addition to removing the now unused pager block.

The added blocks collect the HTML used within them, which will in turn
be inserted at the proper location.

This mostly serves my need for everything to be tidy, but it also serves
the need for everything to be *correct*.
@samueldr
Copy link
Member Author

samueldr commented Sep 18, 2020

Hi, the "new strategy" for the "big angles" section could have a performance impact which has not been validated or tested yet. Though this is just a gut feeling, I don't have any proof that it could cause performance issues.

I'm not positive on how to properly test it for performance, but I guess that if scroll is fine on an "underpowered" mobile device it should be fine.

@github-actions
Copy link
Contributor

…page

Background image in the hero section was causing some stuttering on mobile
devices when scrolling.

The limitatino with SVG on mobile devices is clearly not with the size,
since the L shape of the search section works just fine, but with the
number of lines in the SVG.
@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

* add Features title
* bump up all the header elements (h2->h1, h3->h2)
* use 2 column view when on md screens or bigger
@github-actions
Copy link
Contributor

@github-actions
Copy link
Contributor

@infinisil
Copy link
Member

infinisil commented Sep 18, 2020

On my iPhone 5 (iOS 10.3.4), there's just NaN for the countdown. This is a very outdated device and OS though, I can't even update anymore :)

image1

* default values (will be less "flickering")
* hiding counter on older devices
@garbas
Copy link
Member

garbas commented Sep 18, 2020

@infinisil the above commit should "fix" the counter. well I hide it in the case new Date returns NaN

@github-actions
Copy link
Contributor

@samueldr
Copy link
Member Author

@infinisil while the device's OS is outdated and you should probably figure out an update for your own good, this is going to be quite useful to know if the site is completely broken or if features degrades nicely on a less-compliant browser.

If you can have a look around and compare with a narrow / zoomed-in browser window and gauge whether things are okay or totally wrong, it would be helpful.

@infinisil
Copy link
Member

infinisil commented Sep 19, 2020

Two problems with text wrapping I noticed:
On the features page, the text doesn't wrap, requiring horizontal scrolling to read the full lines (expand details for picture):

image3

And on the governance page, only the RFC Process text doesn't fill the whole width of the page:

image2

(same on both firefox and safari, they probably use the same web engine after all)

Other than that, I'm not noticing anything problematic

PS: I'm eagerly awaiting my Librem 5 still, so that's why I've been holding out with an 8 year old phone :D

@github-actions
Copy link
Contributor

@samueldr
Copy link
Member Author

Thanks for testing! And good catches, here's a 🍪... But wait, there's more, those are not "old iOS" specific issues!

Good catch on the governance page: a bug with the way columns spanning more than one column-width were handled. Basically they were still limited in width even if it was not needed at that width.

As for the features page, the issue was the fresh .columns implementation, which didn't set a max width on the "flexed" elements. In such a layout, they're free to take as much place as needed for their child, which ended up being whatever was needed to fit the <pre> elements.

The existing columnar layout implementation handled that case. Though it did not handle the desire to serve the columns in a linear fashion at -sm sizes. So the latest change adds a variant to the non-semantic .columnar-layout with .-longform.

@infinisil
Copy link
Member

Awesome, can confirm that fixed it!

@garbas garbas marked this pull request as ready for review September 20, 2020 21:34
@garbas garbas merged commit 84bddc2 into master Sep 20, 2020
@garbas garbas deleted the feature/2020-redesign branch September 20, 2020 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design About the design refresh work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants