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

Ensure Haskell track is ready for v2 launch #686

Closed
9 tasks done
kytrinyx opened this issue Jun 12, 2018 · 5 comments
Closed
9 tasks done

Ensure Haskell track is ready for v2 launch #686

kytrinyx opened this issue Jun 12, 2018 · 5 comments

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Jun 12, 2018

There are a number of things we're going to want to check before the v2 site goes live. There are notes below that flesh out all the checklist items.

  • The track has a page on the v2 site: https://v2.exercism.io/tracks/haskell
  • The track page has a short description under the name (not starting with TODO)
  • The "About" section is a friendly, colloquial, compelling introduction
  • The "About" section follows the formatting guidelines
  • The code example gives a good taste of the language and fits within the boundaries of the background image
  • There are exercises marked as core
  • Exercises have rough estimates of difficulty
  • Exercises have topics associated with them
  • The first exercise is auto_approve: true

Track landing page

The v2 site has a landing page for each track, which should make people want to join it. If the track page is missing, ping @kytrinyx to get it added.

Blurb

If the header of the page starts with TODO, then submit a pull request to https://github.com/exercism/haskell/blob/master/config.json with a blurb key. Remember to get configlet and run configlet fmt . from the root of the track before submitting.

About section

If the "About" section feels a bit dry, then submit a pull request to https://github.com/exercism/haskell/blob/master/docs/ABOUT.md with suggested tweaks.

Formatting guidelines

In order to work well with the design of the new site, we're restricting the formatting of the ABOUT.md. It can use:

  • Bold
  • Italics
  • Links
  • Bullet lists
  • Number lists

Additionally:

  • Each sentence should be on its own line
  • Paragraphs should be separated by an empty line
  • Explicit <br/> can be used to split a paragraph into lines without spacing between them, however this is discouraged.

Code example

If the code example is too short or too wide or too long or too uninteresting, submit a pull request to https://github.com/exercism/ocaml/blob/master/docs/SNIPPET.txt with a suggested replacement.

Exercise metadata

Where the v1 site has a long, linear list of exercises, the v2 site has organized exercises into a small set of required exercises ("core").

If you update the track config, remember to get configlet and run configlet fmt . from the root of the track before submitting.

Topic and difficulty

Core exercises unlock optional additional exercises, which can be filtered by topic an difficulty, however that will only work if we add topics and difficulties to the exercises in the track config, which is in https://github.com/exercism/haskell/blob/master/config.json

Auto-approval

We've currently made any hello-world exercises auto-approved in the backend of v2. This means that you don't need mentor approval in order to move forward when you've completed that exercise.

Not all tracks have a hello-world, and some tracks might want to auto approve other (or additional) exercises.

Track mentors

There are no bullet points for this one :)

As we move towards the launch of the new version of Exercism we are going to be ramping up on actively recruiting people to help provide feedback. Our goal is to get to 100%: everyone who submits a solution and wants feedback should get feedback. Good feedback.

If you're interested in helping mentor the track, check out http://mentoring.exercism.io/

When all of the boxes are ticked off, please close the issue.

Tracking progress in exercism/meta#104

@jackhughesweb
Copy link
Contributor

Things that can be checked off already:

The track has a page on the v2 site: https://v2.exercism.io/tracks/haskell
The code example gives a good taste of the language and fits within the boundaries of the background image
Exercises have rough estimates of difficulty

I've submitted pull requests for an updated about section #689, blurb #690, and updated exercise data #691

petertseng pushed a commit that referenced this issue Jun 21, 2018
As part of #686 (v2 prep)
petertseng pushed a commit that referenced this issue Jun 21, 2018
This adds the auto_approve property to the hello-world
exercise as part of preparing tracks for the v2 launch.

The current code on the server will automatically approve
hello-world exercises anyway, but that is a temporary fix
and will be removed in the future.

It is better to make this explicit.

Part of #686 (v2 launch)
@petertseng
Copy link
Member

I understand that v2 has already launched.

Please help me understand the urgency with which to deal with the about guidelines:

  • What will break if we don't reflow the sentences so that there is one line per sentence?
  • What will break if we don't remove forbidden items such as code blocks? The Haskell ABOUT has a code block, which should be removed because the guidelines forbid them. By the rules it cannot be moved to SNIPPET because it is too wide. But I cannot in good conscience remove value from the https://exercism.io/tracks/haskell page.

(If you want to understand why I ask these questions, you may optionally read #689 (comment))

@jackhughesweb
Copy link
Contributor

@petertseng
The one line per sentence rule is to help make using Git easier across collaborators (simpler diffs and git blame).

The guidelines which include removing code blocks are to maintain similarity and uniformity across all tracks.

petertseng pushed a commit that referenced this issue Aug 14, 2018
These are the new guidelines, and the reason is that having one sentence
per line is less conflict-prone and produces diffs that are easier to
read.

These guidelines are suggested in
#686
@petertseng
Copy link
Member

The one line per sentence rule is to help make using Git easier across collaborators (simpler diffs and git blame).

Thanks, that's a great reason! The sentences have been reflowed as per your PR.

The guidelines which include removing code blocks are to maintain similarity and uniformity across all tracks.

Thanks! The PR to remove the code block can be made as soon as there is a replacement for the SNIPPET that fits the SNIPPET limits.

petertseng pushed a commit that referenced this issue Sep 12, 2018
This commit

 - Removes the Quicksort code example from ABOUT.md as #686 dictates.
 - Adds a real-world web-server example (Scotty) within 38x9 characters.
 - Removes the sentence "Haskell syntax is beautiful and minimal."
   because it tied to the code snippet, not because it isn't true. ;-)

The snippet comes from http://hackage.haskell.org/package/scotty-0.11.2
@petertseng
Copy link
Member

I claim that this track has completed all items. The last remaining item was The "About" section follows the formatting guidelines, and it was only through the combination of #719 and #689 that it was able to checked off. #719 was merged only two days ago, so it was correct to leave this issue open until then. But I am two days late on closing this issue.

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

No branches or pull requests

3 participants