Commit graph

252 commits

Author SHA1 Message Date
Hunter McMillen
3ab84a5143 add exercise to config.json 2017-10-10 13:18:11 -04:00
Hunter McMillen
8f59849a69 add all-your-base exercise and canonical tests 2017-10-10 13:15:53 -04:00
Erik Simmler
b4c2346263 Merge pull request #161 from anuragsoni/pascals-triangle
add pascals-triangle exercise
2017-10-07 20:10:44 -04:00
Anurag Soni
d01d73544b
format with elm-format 0.6.1 2017-10-07 19:52:05 -04:00
Anurag Soni
afa928fdba
remove lock file 2017-10-07 14:40:53 -04:00
Anurag Soni
ecccfcbef0
add pascals-triangle exercise 2017-10-07 14:38:24 -04:00
Katrina Owen
243915c4eb Merge pull request #159 from exercism/default-snippet
Add default introductory code example
2017-09-01 16:34:43 -06:00
Katrina Owen
0abb4b208b Add default introductory code example
Instead of having logic for a fallback in the backend, we're choosing a
default for the snippet file.

For tracks that have core exercises, we pick the first core exercise.
For tracks without these, we pick the first exercise listed in the config.

Note that we're aiming for 10 lines and a max-width of 40 columns.
This solution has 11 lines, so we may want to adjust it.
2017-09-01 16:14:46 -06:00
Katrina Owen
bd7f8e57d3 Merge pull request #158 from kytrinyx/generate-maintainer-json
Add default maintainers file
2017-08-04 16:16:59 -06:00
Katrina Owen
06522f623e Add default maintainers file
We wish to feature the maintainers of each track on the new (nextercism) website. Ideally, the bios will be tailored to each track, giving a friendly view into each maintainer's background and interest in the language, and even (perhaps) what they enjoy most about maintaining the track, or what type of things they tend to focus on.

The main reasons for including these are to:

* provide a stronger basis for empathy with maintainers
* give well-deserved recognition
* plant a seed in people's minds that _Exercism tracks are maintained by people like me... I could do that!_

Being featured on the Exercism website is entirely optional, and we're generating all the data with show_on_website=false so that if you don't want to bother, you don't have to change anything.

If you've moved on, or decide to do so, please submit and merge a PR (for visibility to the others involved) that sets **alumnus** to _true_ for your maintainer entry. I'm working on a bot that will update the GitHub team to reflect the current state of this file.

We can merge this as is, and any changes can be added in subsequent pull requests.
2017-07-29 09:30:45 -06:00
Katrina Owen
a85e637f20 Merge pull request #157 from exercism/rm-config-redundancy
Remove redundant key/value pairs from config.json
2017-07-28 21:23:40 -06:00
Katrina Owen
d1d3285d20 Merge pull request #155 from exercism/nextercism-defaults
Add configuration defaults for nextercism
2017-07-28 21:20:32 -06:00
Katrina Owen
3a2621af3a Merge pull request #156 from exercism/generate-readme
Generate static exercise README templates
2017-07-28 21:14:11 -06:00
Katrina Owen
f084e58638 Remove redundant key/value pairs from config.json
The slug is not used anywhere. We initialize a track based on knowing the Track ID.
Since the repository is always named after the track ID, this field, too, is redundant,
as it can be inferred.
2017-07-21 13:51:50 -06:00
Katrina Owen
6151955420 Generate static exercise README templates
We are working towards making exercises stand-alone. That is to say: no more generating READMEs on the fly.

This will give maintainers more control over each individual exercise README, and it will also make some of the backend logic for delivering exercises simpler.

The README template uses the Go text/template package, and the default templates generate the same READMEs as we have been generating on the fly.  See the documentation in [regenerating exercise readmes][regenerate-docs] for details.

The READMEs can be generated at any time using a new 'generate' command in configlet. This command has not yet landed in master or been released, but can be built from source in the generate-readmes branch on [configlet][].

[configlet]: https://github.com/exercism/configlet
[regenerate-docs]: https://github.com/exercism/docs/blob/master/maintaining-a-track/regenerating-exercise-readmes.md
2017-07-16 13:24:35 -06:00
Katrina Owen
f7cd1f331c Add default exercise readme template 2017-07-16 13:24:35 -06:00
Katrina Owen
8c5941e864 Add configuration defaults for nextercism
We will be moving to a tree-shaped track rather than a linear one, as described in the [progression & learning in Exercism](https://github.com/exercism/docs/blob/master/about/conception/progression.md) design document.

In order to support this, we need to expand the metadata that exercises are configured with.

Note that 'core' exercises are never unlocked by any other exercises. Core exercises appear in the track in the order that they are listed in the array.

Non-core exercises depend on only one exercise (unlocked_by: ). At the moment we are assuming that this is a core exercise, but there is no reason that it needs to be.

Until now we have operated with a separate deprecated array. These are now being moved into the exercises array with a deprecated field.

With these defaults the track in nextercism will have no core exercises, and all the exercises will be available as 'extras' from the start.

If you haven't already, now would be a good time to do the following:

* add a rough estimate of difficulty to each exercise (scale: 1-10)
* add topics to each exercise
* choose *at most 20 exercises* to be core exercises (set core: true, and delete the unlocked_by key)
* for each exercise that is not core, decide which exercise is the prerequisite (max 1)

If possible, leave 3 or 4 simple exercises as (core: false, unlocked_by: null), as this will provide new participants with some exercises that they can tackle even if they have not finished the first core exercise.
2017-07-14 22:52:08 -06:00
Erik Simmler
9439712e42 Merge pull request #154 from exercism/configlet-subcommand
Call configlet subcommand on CI
2017-07-09 14:48:06 -04:00
Katrina Owen
5cc237a332 Call configlet subcommand on CI
This changes configlet to pass a subcommand.

For now, we've released a version of configlet which handles both the old command:

    configlet path/to/track

as well as the new command:

    configlet lint path/to/track

This will let us update all the travis files to include the subcommand before we
release the version of configlet that requires the subcommand.
2017-07-09 12:12:17 -06:00
Erik Simmler
505be0c663 Merge pull request #144 from tgecho/etl
Add etl exercise
2017-07-07 21:09:10 -04:00
Erik Simmler
c3a8a8ec85 Add etl exercise 2017-07-07 21:08:40 -04:00
Erik Simmler
eeeab525b9 Merge pull request #152 from iamvery/skip-tests
Skip all but first test of each example
2017-07-07 20:37:14 -04:00
Erik Simmler
be936a14d4 Merge branch 'master' into skip-tests 2017-07-07 20:37:02 -04:00
Erik Simmler
8b5ef02a1e Add a bit of documentation for the test skips 2017-07-07 20:35:54 -04:00
Erik Simmler
1ebbaae152 Remove skips from tests before checking in CI
This is a bit gross, but I think optimizing for the end users is important enough to justify the dance.
2017-07-07 20:23:32 -04:00
Erik Simmler
2125fcf43c Merge pull request #153 from iamvery/triangle-version-test
Add version test to triangle exercise
2017-07-07 20:09:12 -04:00
Jay Hayes
7b3e9e4cb2 Skip at describe level for generated tests 2017-07-07 15:43:28 -05:00
Jay Hayes
965a615782 Don't skip first _actual_ test
I failed to notice with the initial commit that the first tests in these
files are just the "version sanity check". This should start learners
off with a useful first failure.
2017-07-07 15:42:31 -05:00
Jay Hayes
fff2196a6d Expose version func from Triangle module to tests 2017-07-07 12:24:16 -05:00
Erik Simmler
604908a29c Merge pull request #150 from iamvery/watch-tests
Add "watch" command to all exercises
2017-07-06 20:01:51 -04:00
Jay Hayes
183847554f Add version test to triangle exercise
This follows the pattern set by some of the other exercises.
2017-07-06 07:19:14 -05:00
Jay Hayes
4d81104a85 Skip all but first test of each example
This allows learners to gradually approach exercise. However, unlike
commented tests, the Elm compiler is still able to infer type
information from the skipped tests.
2017-07-05 15:35:15 -05:00
Jay Hayes
03d20b5005 Add "watch" command to all exercises 2017-07-05 06:22:37 -05:00
Erik Simmler
d76d7ecb7b Merge pull request #149 from exercism/rename-repo
Remove leading 'x' from repository name
2017-06-20 20:16:57 -04:00
Erik Simmler
39fa03b9b8 Remove leading “x” from the repository field of all exercise elm-package.json field 2017-06-20 20:08:47 -04:00
Katrina Owen
51cd0970f1 Clean up references to old repository name [skip ci]
We renamed the language track repositories, removing the leading 'x',
as this is cleaner and more understandable.

This does minor cleanup to fix references to the old name.
2017-06-18 16:08:19 -06:00
Katrina Owen
b3a6f50b73 Remove leading 'x' from repository name
The leading 'x' is kind of arbitrary. Especially now that we can set
topics on the repositories, we don't need a pattern to distinguish what
is a track or not.

The repository itself has already been renamed. GitHub redirects from
the old name to the new name, so we do not have to rush to fix links to
the old repository name, though we should update them for the sake of
clarity.
2017-06-18 10:55:48 -06:00
Katrina Owen
d4317f0047 Merge pull request #147 from exercism/ignore-key
Delete ignored key from config.json
2017-06-16 09:12:28 -06:00
Katrina Owen
5f464214f4 Delete ignored key from config.json
Since the exercise implementations are all in the exercises directory
we no longer need to ignore any non-exercise directories in the root
of the track.
2017-06-16 09:08:19 -06:00
Katrina Owen
d4e0aa2ce0 Merge pull request #148 from exercism/normalize-config
Normalize format of config file
2017-06-16 09:05:20 -06:00
Katrina Owen
dcbe746f66 Normalize format of config file
This will let us script changes to it with less noise in the diffs.
2017-06-10 11:45:22 -06:00
Erik Simmler
2ce61e7347 Merge pull request #146 from exercism/readme-insert
Rename the global exercise hints file
2017-06-10 11:10:51 -04:00
Katrina Owen
1e5530ba48 Rename the global exercise hints file
We've had some difficulty coming up with a good name for the file
that gets included in all of the exercise READMEs for a given track.

These are global hints, like how to run the test suite, which are
relevant to all the exercises on a track.

We started with SETUP.md in the root of the repository, then renamed
that to exercises/TRACK_HINTS.md because SETUP.md was misleading and
confusing, but then we realized that TRACK_HINTS.md was a bit ambiguous
and confusing as well.

Finally we settled on putting the file in the docs directory, since
this is user-facing documentation, and calling the file
EXERCISE_README_INSERT.md

See https://github.com/exercism/meta/issues/5 for context.
2017-06-09 11:08:12 -06:00
Erik Simmler
f73808e6a2 Merge pull request #145 from exercism/license
Remove license info from README
2017-05-30 11:26:04 -04:00
Katrina Owen
8e060ec80c Reassign copyright to Exercism legal entity 2017-05-29 08:56:27 -06:00
Katrina Owen
3ed4778a63 Remove license info from README
We don't need the duplication, especially now that the GitHub interface shows the
license information on the main page of the repository when it can be detected
directly from the LICENSE file.
2017-05-29 08:56:27 -06:00
Erik Simmler
dd82c5f52d Merge pull request #143 from tgecho/elm-format-0.6.1
Update elm-format to latest “stable” version (0.6.1-alpha)
2017-05-28 15:26:47 -04:00
Erik Simmler
be214210cc Update elm-format to latest “stable” version (0.6.1-alpha) 2017-05-28 15:19:33 -04:00
Erik Simmler
6e33e3dc16 Merge pull request #142 from tgecho/grains-fork
Grains exercise
2017-05-28 15:13:02 -04:00
Erik Simmler
e908e0dd7a Add a note about the missing high value grains test cases 2017-05-28 15:02:13 -04:00