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

Refactor Install page before moving a copy to webdev #727

Merged
merged 6 commits into from
Apr 3, 2018

Conversation

chalin
Copy link
Contributor

@chalin chalin commented Mar 30, 2018

Contributes to #657.

Staged, see:


Install page is now like the Platoforms, but it directs the user to installation instructions appropriate for the chosen platform:

screen shot 2018-03-30 at 16 13 37

The Web and VM installation instructions now make use of @filiph's compact OS-tabbed instructions (slightly enhanced with a bit of extra information):

screen shot 2018-03-30 at 16 16 05

cc @JekCharlsonYu @anders-sandholm

@chalin chalin added the a.get-started Relates to Getting Started with Dart label Mar 30, 2018
@chalin chalin added this to the 2-beta2 milestone Mar 30, 2018
@chalin chalin requested a review from kwalrath March 30, 2018 20:22
@googlebot googlebot added the cla: yes Contributor has signed the Contributor License Agreement label Mar 30, 2018
Copy link
Contributor

@filiph filiph left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@kwalrath kwalrath left a comment

Choose a reason for hiding this comment

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

I like the general direction, but there are a bunch of details we need to work out.

src/install.md Outdated

Choose your platform.

{:.card-grid}
Copy link
Contributor

Choose a reason for hiding this comment

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

There's a lot of white space surrounding these cards, which means that usually I see only two platforms on the first line, even when my window is pretty wide. Also... Why are these indented?

image

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe that this is the same layout and spacing as the platforms page, but I'll double check.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I confirm that we're using the same card-grid and card styles in other pages, and that the cards have the same width, etc. E.g., see the cards on these pages:

I don't suggest that we start making one-off changes. Later we might want to consider a site-wide revision of styling.

WDYT?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Given that the "platform" cards are mostly white, I suppose that I could make those narrower (on both the platform and install pages). Let me try something ... .

Copy link
Contributor

Choose a reason for hiding this comment

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

It looks better, thanks.

src/install.md Outdated

### [Flutter][Flutter install]

Flutter SDK install.
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's say: Get the Flutter SDK.

src/install.md Outdated

### [Web][Web install]

Dart for web install.
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe: Get the Dart SDK plus web-specific tools.

src/install.md Outdated

### [Dart VM][Dart install]

Dart SDK install.
Copy link
Contributor

Choose a reason for hiding this comment

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

-> Get the Dart SDK.

@@ -0,0 +1,41 @@
#### Install using apt-get
Copy link
Contributor

Choose a reason for hiding this comment

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

We need some intro text before this, or else it isn't clear that you have a choice between apt-get, debian, and compiling from source. (It looks like the text is there in https://www.dartlang.org/install/linux, so it should be easy to grab. I guess formatting is the only issue. We lose a lot of navigation when we give up the page and its TOC.)

@@ -0,0 +1,33 @@
#### Install using a setup wizard
{: style="margin-top: 0"}

Copy link
Contributor

Choose a reason for hiding this comment

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

As for the Linux page, we need an overview here.

@@ -0,0 +1,33 @@
#### Install using a setup wizard
Copy link
Contributor

Choose a reason for hiding this comment

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

The style of these 4th-level headers looks strange to me under the smaller font of the tabs. Let's see if it looks better once we add introductory text.

## Install the SDK

A package manager can help you easily install and update the Dart SDK.

Copy link
Contributor

Choose a reason for hiding this comment

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

Let's put the archive link here:

Alternatively, you can download zip files from the [Index of Downloads].

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've added both the archive and "build from source" links here.

{% include_relative _mac.md %}
</div>

Alternatives:
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's delete this paragraph and the bulleted list that follows.

@@ -3,9 +3,9 @@ title: "Index of Downloads"
description: "Download specific stable and dev channel versions of the Dart SDK, Dartium, and the Dart API documentation."
permalink: /install/archive
Copy link
Contributor

Choose a reason for hiding this comment

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

Update the permalink to /tools/sdk/archive, and (wherever the breadcrumbs are defined) make the previous page be Dart SDK, not Install Dart.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've renamed this page to "Dart SDK Download", with a short title of just "Download", so that we get this heading w/ breadcrumbs:

screen shot 2018-04-02 at 15 48 41

Copy link
Contributor

Choose a reason for hiding this comment

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

We have to be careful about how we refer to these pages. This title might be good, but we don't want to imply that it's the preferred way to download the SDK.

@chalin chalin mentioned this pull request Mar 30, 2018
63 tasks
Copy link
Contributor

@kwalrath kwalrath left a comment

Choose a reason for hiding this comment

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

I forgot to put the big red X on this...

@chalin
Copy link
Contributor Author

chalin commented Apr 2, 2018

Changes complete and staging server refreshed.

Copy link
Contributor

@kwalrath kwalrath left a comment

Choose a reason for hiding this comment

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

We're really close! Due to GitHub weirdness, I think there might be double comments for some things...

defer: true
---

Copy link
Contributor

Choose a reason for hiding this comment

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

Later this page refers to the "main Dart installation page". Let's just call it the "Dart SDK" page. We should also check for other references to that page.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We should also check for other references to that page.

I've swept the docs and made the necessary changes.

description: "Download specific stable and dev channel versions of the Dart SDK, Dartium, and the Dart API documentation."
permalink: /install/archive
title: Dart SDK Download
short-title: Download
Copy link
Contributor

Choose a reason for hiding this comment

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

Download -> Zip Files (in the title & short-title)
... or something else indicating that this isn't the primary download page.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

How about Archive?

Don’t want to use a package manager? Other options are:

* [Download the SDK manually](sdk/archive)
* [Build the SDK from source][]
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm afraid this bulleted list might tempt people away from package managers. How about:

...update the Dart SDK. Other options are [building the SDK from source] and [downloading the SDK as a zip file].

That way the download link is still easy to find (last thing in the paragraph), but not quite as tempting.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good suggestion.

src/install.md Outdated

Choose your platform.

{:.card-grid}
Copy link
Contributor

Choose a reason for hiding this comment

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

It looks better, thanks.

src/install.md Outdated
app in the Dart language, once you are ready to develop real apps, you need the
Dart SDK.

Install the Dart SDK for your platform.
Copy link
Contributor

Choose a reason for hiding this comment

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

Dart SDK -> SDK

src/install.md Outdated
@@ -5,30 +5,38 @@ permalink: /install
toc: false
---

Choose your platform.
The [DartPad][]{: target="_blank"} is a great way to learn how to write a simple
Copy link
Contributor

Choose a reason for hiding this comment

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

The -> Although

src/install.md Outdated
Choose your platform.
The [DartPad][]{: target="_blank"} is a great way to learn how to write a simple
app in the Dart language, once you are ready to develop real apps, you need the
Dart SDK.
Copy link
Contributor

Choose a reason for hiding this comment

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

the Dart SDK -> an SDK

- Looking for an older version?
Check out our [zip file archive](/install/archive) for
previous versions of the Dart SDK.

## What's in the SDK

The SDK directory includes a `lib` directory for the
Copy link
Contributor

Choose a reason for hiding this comment

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

SDK directory -> Dart SDK

It seems weird to talk about an SDK directory, especially when some package managers put stuff all over the place. E.g. my copy of dart is in ~/homebrew/bin, which links to ../Cellar/dart/2.0.0-dev.43.0/bin/dart, which has bin and libexec directories (the latter of which contains bin and lib directories). I considered dropping the mentions of bin and lib, but on second thought they're kind of handy.

Copy link
Contributor

Choose a reason for hiding this comment

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

In general, many occurrences of "SDK" should perhaps be "Dart SDK". Some occurrences of "SDK" could perhaps be deleted ( e.g. "About release SDK channels and version strings").

@@ -40,7 +41,7 @@ production use.

{% include_relative _archives_table.html channel="dev" %}

## Direct download URLs
## Download URLs
Copy link
Contributor

Choose a reason for hiding this comment

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

We should update the example URLs, either now or in a future PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've made some updates to the example URLs. We can make more once 2.0 final comes out.

src/install.md Outdated
@@ -5,30 +5,38 @@ permalink: /install
toc: false
---

Choose your platform.
The [DartPad][]{: target="_blank"} is a great way to learn how to write a simple
app in the Dart language, once you are ready to develop real apps, you need the
Copy link
Contributor

Choose a reason for hiding this comment

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

delete "in the Dart language"
you are -> you're

@chalin
Copy link
Contributor Author

chalin commented Apr 3, 2018

Thank you for the very good suggestions. I've made the necessary changes and updated the staging server.

Copy link
Contributor

@kwalrath kwalrath left a comment

Choose a reason for hiding this comment

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

Just about to run out of charge on my mac, so I'll send these and finish later...

firebase.json Outdated
}
},
{ "source": "/install/**", "destination": "/install", "type": 301 },
{ "source": "/tools/pub/**", "destination": "/toosl/pub", "type": 301 }
Copy link
Contributor

Choose a reason for hiding this comment

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

toosl -> tools
(but why add this redirect? it breaks all the URLs under pub, e.g. https://dartlang-org-staging-1.firebaseapp.com/tools/pub/cmd/pub-get)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oops, clearly not the desired effect. Changed to / was meant to be:

      { "source": "/tools/pub/installing", "destination": "/tools/pub/environment-variables", "type": 301 }

@@ -39,8 +39,6 @@
- title: "Dart VM"
permalink: /dart-vm
children:
- title: "Install Dart"
Copy link
Contributor

Choose a reason for hiding this comment

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

Where will people find this page?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have a top-level sidenav entry named Install under RESOURCES. Why should Dart VM be singled out to have an install submenu item? If we have one for Dart VM, for sake of uniformity, we might as well have one for Web and for Mobile. Instead, I think that folks should be encouraged to go to the main install page in all cases. WDYT?

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, I thought you were deleting the one under RESOURCES.

@@ -1,49 +0,0 @@
---
Copy link
Contributor

Choose a reason for hiding this comment

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

Why are we getting rid of this page?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because we don't install pub. One installs the Dart SDK; the main pub page opens with:

You can use the pub tool to manage Dart packages. Pub is one of the tools that you get when you install the Dart SDK.

In think that that is all we need.

The rest of the pub "installing" page was actually only about environment variable configuration. Which is what I renamed to page to.

@@ -1,21 +0,0 @@
<div markdown="1">
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we cover setting the path anywhere?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Whether / how one sets the path or not depends on (1) the technique used to install the SDK, (2) how the SDK is used and in which environment / shell it is used from.

For example, when using Homebrew under MacOS, one shouldn't adjust the path specifically for the Dart SDK. Doing so can lead to problem later on when Dart is upgraded and/or versions are switched.

Our previous instructions on how to set the path were incomplete at best, misleading in some cases.

Copy link
Contributor

@kwalrath kwalrath Apr 3, 2018

Choose a reason for hiding this comment

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

Let's just mention adding the SDK's bin directory (or whatever) to your path, and leave it up to people to find the instructions. (We added the path info because some beginners would get confused when they installed Dart but couldn't run the commands.)

Copy link
Contributor Author

@chalin chalin Apr 3, 2018

Choose a reason for hiding this comment

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

Where do you want this mentioned? (This particular file is just an include.)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

(I'd suggest leaving any such mention for now and we can consider re-adding it, or directing folks to SO ... as the need arises. WDYT?)

Copy link
Contributor

Choose a reason for hiding this comment

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

I think we should mention adding the SDK's tools to your path in the /tools/sdk page, somewhere inside the "Install the SDK" section.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Oops, I didn't get the notice about this comment until now. I'll add it with my next PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here it is: #740

toc: false
---

When you [install](/install) the
When you [install](/tools/sdk#install) the
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's remove the link on "install".

Copy link
Contributor

@kwalrath kwalrath left a comment

Choose a reason for hiding this comment

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

Minor URL/redirect changes, then I think we're good to go!

firebase.json Outdated
@@ -1171,7 +1171,9 @@
"source": "/dart-2.0",
"destination": "/dart-2",
"type": 301
}
},
{ "source": "/install/**", "destination": "/install", "type": 301 },
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm torn about whether to set up a separate redirect for the archive (/install/archive -> /tools/sdk/archive). I suspect that lots of people have links to the archive page, so it seems reasonable to take them to the page they want.

The only reason not to redirect /install/archive to /tools/sdk/archive is if we really DO want to force people to think — to look at the 3 SDK options and then hunt in the Dart SDK page for the archive.

I'm leaning toward redirecting /install/archive to /tools/sdk/archive, to avoid irritating the type of expert user who tends to use the archive.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

leaning toward redirecting /install/archive to /tools/sdk/archive

That sounds reasonable.

Copy link
Contributor Author

@chalin chalin Apr 3, 2018

Choose a reason for hiding this comment

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

FYI, we'll have both kinds of redirects. One for the archive link, and the other to catch the OS specific pages.

A package manager can help you easily install and update the Dart SDK.
Don’t want to use a package manager? Other options are
[building the SDK from source][] and
[downloading the SDK as a zip file](sdk/archive).
Copy link
Contributor

Choose a reason for hiding this comment

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

sdk/archive -> /tools/sdk/archive (or archive)?

I somehow ended up with the path .../tools/sdk/, and then this took me to .../tools/sdk/sdk/archive, which was a 404.

I wonder (a) why it's possible to have the / at the end of the URL (there's a bug about this somewhere) and (b) how many similar possible 404s exist in this site.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Stange. I'm not seeing that. I've change the link to /tools/sdk/archive just in case.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah, the related issue is on site-webdev: https://github.com/dart-lang/site-webdev/issues/1418

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a.get-started Relates to Getting Started with Dart cla: yes Contributor has signed the Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants