这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@yasoob
Copy link
Contributor

@yasoob yasoob commented May 16, 2022

Hi! I coded a new website for Dokku. It relies on the latest version of Bootstrap. I have attached some screenshots below for what the website looks like after these changes. Bear with me, there are a lot of screenshots. I provided them all here for the sake of completeness.

Also, there are some nice interactions on the homepage which can't be captured in screenshots. I did make use of prefers-reduced-motion media query so that the animations don't run when the user has enabled this setting. I tested it out in Chrome and it works perfectly (i.e disabling the animations).

There is also a subtle gradient animation on the code box on the homepage. It is easy to miss if not paying attention 😄

I tried to use css variables wherever I could so that the colors are easy to tweak. You can find the main "theme" colors in the :root scoped variable list. It is always hard to come up with variable names so pardon me if some names don't make much sense 🤪 I tried my best. Promise! 🤞

I tried not to touch the css of the documentation page but I did modify it slightly to go with the new theme.

I hope people like the website proposal ❤️

Homepage light mode (default)

127 0 0 1_5501_home html (1)

Homepage dark mode

127 0 0 1_5501_home html

Homepage on mobile screen

127 0 0 1_5501_home html (2)

Homepage SVG animation

universe animation

Tooltip on SVG group hover

If you hover over any of the logos in the SVG, the animation pauses and shows you a tooltip containing the name of the software/company. The logos are also clickable
image

Tooltip on avatar hover

Hovering over an avatar pauses the animation and shows a tooltip with the name of the user and clicking on the image takes you to their homepage as configured on OpenCollective
image

Shows menu toggled

image

Documentation page light mode

127 0 0 1_5501_template html (1)

Documentation page dark mode

127 0 0 1_5501_template html (2)

<link href="https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap" rel="stylesheet">

<!-- <link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.4/docs/assets/style.css" rel="stylesheet"> -->
<link href="./assets/style.css" rel="stylesheet">
Copy link
Member

Choose a reason for hiding this comment

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

This needs to be versioned on merge, just fyi.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sounds good. I just wasn't sure what to use currently as the latest css isn't on GitHub. I believe I can safely uncomment the line and the CSS would become available once the PR is merged. Right?

Copy link
Member

Choose a reason for hiding this comment

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

Once we merge it, I'll need to release to get it out. The workflow here is rough for development :(

Copy link
Member

Choose a reason for hiding this comment

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

Once we merge it, I'll need to release to get it out. The workflow here is rough for development :(

@josegonzalez
Copy link
Member

This is great! A few thoughts:

  • I think we need a second, larger set of icons for the "bigger" opencollective sponsors. Any way to work that in?

  • Could we switch the svg group hover thing to be on the left vs the right? That'll hopefully balance out the page.

  • I'll fix this if need be after merge, but maybe having the actual commands vs commented out in the example would be good?

    # download the installation script
    wget https://dokku.com/installer/latest/bootstrap.sh
    # run the installer
    sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh
    # Configure your server domain
    dokku domains:set-global dokku.me
    # and your ssh key to the dokku user
    echo "your-public-key-contents-here" | dokku ssh-keys:add admin
    # create your first app and you're off to the races!
    dokku apps:create test-app

@yasoob
Copy link
Contributor Author

yasoob commented May 16, 2022

SVG hover group is now to the left
image

Quickstart instructions have been updated
image

Still thinking on your first point. Need to figure out how best to present them.

@yasoob
Copy link
Contributor Author

yasoob commented May 16, 2022

@josegonzalez I went through the OpenCollective API and I couldn't find a way to get the list of biggest financial contributors. This is the page I am referring to. The issue is that Dokku doesn't have different financial tiers with significant difference.

If I go with the "Sponsors" tier, it only returns one org. API url. My personal recommendation is to keep it the way it is for now and if we can figure out a nice way to bridge this gap, we can implement it later.

Thoughts?

Other than this do you see anything as a blocker for this PR?

@yasoob
Copy link
Contributor Author

yasoob commented May 16, 2022

Also @josegonzalez thoughts on using "An open source PAAS alternative to Heroku." instead of "The smallest PAAS implementation you have ever seen." and maybe replacing the sub-heading with "Dokku is a single-host PAAS that helps you build and manage the lifecycle of applications." on the homepage?

This makes the purpose of Dokku clear and also lists the biggest difference (single-host) in the main heading.

@josegonzalez
Copy link
Member

It's not actually single-host, you can use it against Kubernetes or Nomad (the plugins are official). The biggest difference is that you self-host vs having someone else manage it for you.

@yasoob
Copy link
Contributor Author

yasoob commented May 16, 2022

I was under the impression that it is single host after looking at some articles + a Twitter thread. Don't have the links handy but well, in that case, we can make the sub-heading "Dokku helps you build and manage the lifecycle of applications from building to scaling"?

@josegonzalez
Copy link
Member

Yeah thats probably better :)

@yasoob
Copy link
Contributor Author

yasoob commented May 17, 2022

Made the copy change.

I feel like the homepage is missing the context that some asciinema can add. This is also something you recommended in the issue #5175 I am already developing the UI. It is 95% done. @josegonzalez do you think you can record three asciinemas for me? The sooner I get them, the quicker I can turn around and finish it off. I am creating three tabs of "Create", "Deploy" and "Scale". Let me know if you have different naming suggestions :)

@josegonzalez
Copy link
Member

I can do that, most likely wednesday.

@yasoob
Copy link
Contributor Author

yasoob commented May 17, 2022

Added Asciinema tabs on homepage that will showcase the create, deploy, and ship steps. Latest screenshot attached below.

I went about a slightly round-about way of implementing asciinema because if I embedded the script directly as suggested by asciinema, the player has the height of 0 for the embeds in hidden tabs and so doesn't work when we toggle the hidden tabs.

I observed this behavior only on Chrome. Safari and Firefox worked perfectly fine. But quite a few people use Chrome so need to cater to that as well.

Before we merge this in, we will need to update the asciinema link based on the recordings you provide me.

127 0 0 1_5501_home html (3)

@yasoob
Copy link
Contributor Author

yasoob commented May 19, 2022

@josegonzalez did you get a chance to put something together? :)

@yasoob
Copy link
Contributor Author

yasoob commented May 26, 2022

@josegonzalez really hoping to get this finalized and merged this month if possible. Let me know if I can help other than recording the asciinema :)

@josegonzalez
Copy link
Member

App creation: https://asciinema.org/a/497945
App deployment: https://asciinema.org/a/497946
App scaling: https://asciinema.org/a/497948

@josegonzalez
Copy link
Member

These can be turned into gifs like so: https://github.com/asciinema/asciicast2gif

I wonder if we should do that and have a light/dark version of each gif?

@josegonzalez
Copy link
Member

We can also just embed the asciicasts (would be easier to update them long-term that way).

@yasoob
Copy link
Contributor Author

yasoob commented May 29, 2022

I just linked the casts. I think the default asciinema color scheme goes well with dark + light mode so there is no need to explicitly create separate color versions. And also, like you said, this way future updates will be easier.

@yasoob
Copy link
Contributor Author

yasoob commented May 30, 2022

@josegonzalez Just fixed the merge conflicts. The branch is ready for review and merge. 👍 You only need to change the stylesheet link before/after merge but that should be the only change required.

@yasoob
Copy link
Contributor Author

yasoob commented Jun 7, 2022

@josegonzalez just checking in. Is there anything I can do to help test this and get it merged? :)

@josegonzalez
Copy link
Member

Ah sorry. Last week was a bit hectic and I've been recovering. I'll have some time to look at this Wednesday and get it merged :)

@yasoob
Copy link
Contributor Author

yasoob commented Jul 3, 2022

Hey @josegonzalez any updates on this? :)

@yasoob
Copy link
Contributor Author

yasoob commented Jul 29, 2022

Hi @josegonzalez just checking in. Let me know if I can help in any way to get this done ✅

@josegonzalez
Copy link
Member

Needs a rebase which I was gonna try to do this weekend and ship it for Monday. If you wanna do that, we'll be good :)

@yasoob
Copy link
Contributor Author

yasoob commented Jul 29, 2022

Done :)

@josegonzalez josegonzalez merged commit d68fbd5 into dokku:master Jul 30, 2022
github-actions bot pushed a commit that referenced this pull request Jul 30, 2022
# History

## 0.27.9

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.9/bootstrap.sh
sudo DOKKU_TAG=v0.27.9 bash bootstrap.sh
```

### Bug Fixes

- #5273: @josegonzalez Correct issue where more complex docker args were not properly parsed when scheduling containers
- #5272: @josegonzalez Add support for --global as app name when calling config-get trigger
- #5263: @alexgleason Update deprecated apt-key command

### New Features

- #5262: @josegonzalez Run shfmt against all test files
- #5257: @chrisjdixon Move nginx.conf.d includes after all other hard-coded config to allow for overrides

### Other

- #5184: @yasoob New website. Closes #5175
- #5270: @dependabot[bot] chore(deps): bump werkzeug from 2.2.0 to 2.2.1 in /tests/apps/python-flask
- #5265: @dependabot[bot] chore(deps): bump werkzeug from 2.1.2 to 2.2.0 in /tests/apps/python-flask
- #5264: @dependabot[bot] chore(deps): bump sinatra from 2.2.1 to 2.2.2 in /tests/apps/ruby
- #5261: @dependabot[bot] chore(deps): bump luizm/action-sh-checker from 0.4.0 to 0.5.0
- #5258: @dependabot[bot] chore(deps): bump sinatra from 2.2.0 to 2.2.1 in /tests/apps/ruby
@yasoob
Copy link
Contributor Author

yasoob commented Jul 30, 2022

It seems like you need to do some release procedure for the website to work correctly. The stylesheet is not the one that I included in this PR and some assets are not loading (e.g the svg logo). This is what I see on my end:
image

@josegonzalez
Copy link
Member

Yeah I'm doing that now. I triggered a patch release as soon as I clicked the merge button.

@yasoob
Copy link
Contributor Author

yasoob commented Jul 31, 2022

Sounds good. You might want to tweak the asset paths a bit because the logo and the social nav bar icons (on the documentation pages) are not loading due to a path issue.

image

image

@josegonzalez
Copy link
Member

@yasoob mind going through and doing some qa on the site?

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.

2 participants