-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
Exercise README templates: defaults, filenames and file locations #165
Comments
Having slept on this, how about a |
I'm not really sold on
|
I like all of these answers, @ErikSchierboom |
Recognizing the README and HINTS documentation as products requiring configuration data suggests a couple of things. I don't think anyone is considering internationalizing this documentation, but it might be useful in the short run to pretend we were. What then? Some shots from the hip.
|
Whatever it is, my preference is that its first character not be My reason for the preference is that I want it to show up in tab completion without me having to type It will make me slightly happier, but nobody is obligated to make me happy, so consider my preference safely ignorable. If the directory name does end up starting with I guess I would call the directory |
I don't really think we need to make the directory hidden at the top level of the repository. In the exercises it makes more sense, because the goal is to make these directories the only thing that is not delivered to the user, so if you look at the exercise directory, everything that is not hidden, should be the exercise. |
|
@Smarticles101 I'm not convinced about putting them in I'm going to try to put words to this somewhat amorphous feeling. Right now, aside from the |
OK, I've still not heard a definitive winner. So far my votes are:
Notice: @Smarticles101 @ErikSchierboom @wobh @petertseng -- so far you are the ones who have had opinions. Any last thoughts? If not I'll flip a coin on the directory name and submit PRs. |
It remains true that I have decided to trust your judgment on all matters I did not express an opinion on |
Naming the folder `meta` sounds great to me.
…On Fri, Jul 14, 2017 at 12:23 PM Peter Tseng ***@***.***> wrote:
It remains true that I have decided to trust your judgment on all matters
I did not express an opinion on
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#165 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ALBZq1R26b2BSk1LRVIFRWcxhHgXDS6uks5sN6QTgaJpZM4OTrRM>
.
|
'meta' allows for more than just configuration info should the need arise. It is a more general term for stuff about the exercise. |
@tleen that's a good point. OK, that's the winner. I will make it so today! Expect pull requests in your inboxes 🎉 |
I'm content to be overruled, however I do wish to file this dissent: To me, Generalizations, I feel, need some reasonable hypothetical examples to assess. What non-configuration data would one put in there? Does it make sense to put it with configuration data? Here's one: If some exercises in a track were to require some shared, non-textual assets (images, diagrams, audio, video), what makes As I said, I'm content to be overruled. The questions above may be treated as rhetorical. |
Given your examples, I think we would end up with several less-generalized and more expressively named directories. Which I like. You changed my mind. I'm going to finish the configlet PR, then wait a day so we can allow for more counter-arguments, then finalize with a decision. |
An "assets" directory as described would be part of the exercise (if users needed it to complete the exercise) and not belong in a .meta dir? On the other hand if every exercise had, say, an icon associated with it, that would belong in a meta directory as an asset. Ideally we would want to avoid a proliferation of directories. If it came to splitting up items in the exercise that were not directly related to doing the exercise itself I would think because .meta/config and .meta/assets would make semantic sense while keeping everything one directory. "meta" really meaning "stuff about the exercise, but not the exercise itself" so it can hold whatever that is not part of the actual exercise. "config" can mean this too, but "meta" would be a more correct term for it? The whole thing is splitting hairs really. It could just as soon be named .other-stuff-we-would-rather-the-users-not-see-but-we-need-for-exercise-generation/ and still function as envisioned. Don't use that name though 😆 |
Alright. I'm going to go with I'll be using exercism/meta#15 as a tracking issue for all the README generation. Thanks everyone! |
As part of the user experience redesign process, we've started reconsidering certain implementation choices that were made early on (somewhat poor decisions made without the benefit of experience).
One decisions that has complicated things needlessly was to generate exercise READMEs on the fly based on a shared, generic problem description and some shared metadata. Eventually we discovered that we wanted to be able to include some custom text for all exercises in a single track (e.g. this is where to ask for help, or this is how to run the tests), as well as custom hints for an individual exercise.
This has had a few negative consequences beyond just the incredibly abstract and fragmented exercise README.
It's harder to pin down exactly which version of a README someone who is solving the exercise was working against, because it's made up of a number of different files in two different repositories, which could have been deployed at different commits.
If you go look at an exercise in the repository on GitHub, there's no README.
Our eventual goal is to make each exercise on GitHub stand-alone. What you see is what you get. All the files that we deliver to the user will be in that directory. We're not quite there yet. For now we're focusing on making sure that each exercise has a README which is committed to the track repository.
Making this change forces some consequences onto maintainers:
We need to make a decision about where to put the track-level default README template. While we're at it, we can reconsider all the names and locations of other README-relevant files. There are quite a few:
exercises/:slug/:file
), or they could live within the track repository (exercises/:slug/.meta/:file
). The README generator will look in the track first, then in the problem specifications repository, so a track can override the metadata if desirable.description.md
metadata.yml
docs/EXERCISE_README_INSERT.md
exercises/:slug/HINTS.md
readme.go.tmpl
exercises/:slug/.meta/readme.go.tmpl
My current opinion is that the
description.md
andmetadata.yml
are named correctly, and live in the right place.HINTS.md
is probably named fine, though I might be happier withhints.md
. However... I don't think it should live in the root of the exercise directory as it currently does. I think that this belongs in the.meta
directory. My suggestion would be.meta/hints.md
.I think the exercise-specific README template is fine in
.meta/readme.go.tmpl
.I think that
docs/EXERCISE_README_INSERT.md
is in the wrong place (I know I argued for putting it indocs
before, but it's kept bugging me, and I think it doesn't belong there.I don't know where to put the track-level README template, but having thought about it a bit and discussed it with @petertseng, I think that the right approach would be to create a new directory at the root of the track, which would contain both the default README template, and the track-level exercise README insert.
So we need to decide:
.exercise
?meta
?)EXERCISE_README_INSERT.md
to a file that is all about track-level exercise things, should we rename it?readme-insert.md
?)HINTS.md
to.meta
?HINTS.md
?/cc @exercism/track-maintainers as this is relevant to you all.
The text was updated successfully, but these errors were encountered: