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

[CI] Add markdownlint workflow #1903

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"default": false,
"heading-increment": true,
"first-line-heading": true,
"heading-style": "atx"
}
28 changes: 28 additions & 0 deletions .github/workflows/markdownlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: CI

on:
push:
paths:
- "**.md"
branches:
- "main"
pull_request:
paths:
- "**.md"
branches:
- "main"

jobs:
mdlint:
name: Lint Markdown
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # 2.3.4

- name: Run markdownlint
uses: nosborn/github-action-markdown-cli@9fc95163471d6460c35cccad13645912aaa25d5f # 1.1.1
with:
files: "."
config_file: ".github/markdownlint.json"
ignore_files: "analyzer-comments/*"
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 have no idea why this doesn't work: https://github.com/marketplace/actions/markdownlint-cli

I tried

"analyzer-comments/*"
"analyzer-comments/**/*"
"analyzer-comments/**"

Copy link

@wolf99 wolf99 Mar 9, 2021

Choose a reason for hiding this comment

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

Tried "analyzer-comments" or maybe "analyzer-comments/" ?
Looking at https://github.com/igorshubovych/markdownlint-cli, it seems like the globbing is used to reference specific files. But the CLI parameter also allows a directory to be ignored (allows file, directory or glob). The README for the link you have given mentions the same.

File renamed without changes.
2 changes: 2 additions & 0 deletions licences/mit.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# MIT Licence

Copyright 2019 Exercism

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
Expand Down
5 changes: 3 additions & 2 deletions pages/about.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
### What is Exercism?
# About Exercism
## What is Exercism?

Exercism is an online platform designed to help you improve your coding skills through practice and mentorship.

Expand All @@ -12,6 +13,6 @@ Exercism is designed to be fun and friendly, and we place a strong emphasis on e

Sign up and have fun. Exercism is 100% free :)

### Who owns and runs Exercism?
## Who owns and runs Exercism?

Exercism is a not-for-profit company. It is legally based in the United Kingdom, with Company Registration Number [11733062](https://beta.companieshouse.gov.uk/company/11733062). It is "company limited by guarantee" which means there are no shareholders, and no individuals "own" the company. Instead, the company has trustees who are responsible for ensuring it meets its aims and objectives. The current trustees are Katrina Owen and Jeremy Walker, who are also the company's Directors.
10 changes: 6 additions & 4 deletions pages/about_v1_to_v2.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# About v1 to v2 transition

We've rebuilt Exercism from the ground up to provide a smoother, more in-depth experience. Exercism now has progression through tracks, more structured mentoring and a much better user interface.

Below, we have outlined a few of the biggest changes. For even **more** details you can view [this document](https://github.com/exercism/v2-feedback). If you need help migrating solutions on your local system from v1 to v2, please [read this document](/cli-v1-to-v2).

We are still working through lots of TODOs to get things right, so please bear with us, but we hope you find this new version more fun and useful than ever.

### New branding
## New branding

There are aspects of the old logo and branding that we like, but we found that it doesn't express the most important thing about Exercism: this is a friendly, welcoming place focused on the humans.

Expand All @@ -16,7 +18,7 @@ We want to emphasize human connections and a supportive, friendly learning envir

To this end we have designed a completely new logo, and a new design aesthetic.

### Redesigned language tracks
## Redesigned language tracks

We have completely redesigned the experience around joining, participating in, and completing a language track.

Expand Down Expand Up @@ -49,7 +51,7 @@ Notice that we're not focusing on "artisans" as a core audience for the exercise

That said, we believe that Exercism has a lot to offer artisans, and they are part of our core "mentor" audience, described in more detail below.

### A new mentorship model
## A new mentorship model
Because learning can be such a vulnerable process, we decided after much deliberation to make the mentorship process private between the learner and their mentors. There are some giant trade-offs inherent in this choice, between helping people feel safe and supported, scaling mentorship, and making solutions available for others to learn from. We will be addressing some aspects of the old model of communal feedback and learning with the new teams interface.

We have written in depth about the considerations we wrestled with and that led to this decision in the design document about code review.
Expand All @@ -62,7 +64,7 @@ In order to reduce the risk of learners feeling like they're at the bottom of a

Once a student has completed an exercise, they can decide whether or not to make it available to the broader Exercism community. If someone decides to make the solution available, they can also decide whether or not to include it in their public showcase.

### Privacy features
## Privacy features
**Aliases:** People can choose on a track-by-track basis what avatar they want to use and what handle they want to go by. This means that people can use their Exercism username publicly in some tracks while remaining private in others. Logging in is now decoupled from GitHub, so the Exercism username may or may not be the same as their GitHub username. If someone chooses to use a handle that is different from their username, then we will make it clear to mentors that this is an alias.

**Blocking:** People can choose to not interact with certain others. This goes for both learners who can opt out of certain mentors, and mentors who can choose to not work with certain learners. There are a number of reasons why people might want to not interact with someone, and they do not all reflect poorly on the person in question. We will however, be monitoring this data for outliers so that we can intervene if we are seeing behavior that is concerning.
Expand Down
5 changes: 3 additions & 2 deletions pages/automated_solution_analysis.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
### What is it?
# Autoamted Solution Analysis
## What is it?

We algorithmically analyse solutions to certain exercises to look for optimal solutions, which we can then instantly approve allowing students to move on to the next exercise without delay.

### How does it work?
## How does it work?

We use a mixture of techniques to analyze solutions, but most centre around statically analysing the code that students submit. Each language has a different analyzer maintained by a different team, who may approach things in different ways. You may be interested in browsing the code to see how this works:
- [C#](https://github.com/exercism/csharp-analyzer)
Expand Down
20 changes: 11 additions & 9 deletions pages/become_a_maintainer.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
[tracks]: https://exercism.io/tracks
[repositories]: https://github.com/exercism
[triaging-issues]: https://github.com/exercism/docs/blob/master/you-can-help/triage-issues.md
[reviewing-prs]: https://github.com/exercism/docs/blob/master/you-can-help/review-pull-requests.md
[porting]: https://github.com/exercism/docs/blob/master/you-can-help/implement-an-exercise-from-specification.md
[problem-specifications]: https://github.com/exercism/problem-specifications
[blazon]: https://github.com/exercism/blazon
[blazon-process]: https://github.com/exercism/docs/blob/master/you-can-help/improve-exercise-metadata.md
[fixing-readmes]: https://github.com/exercism/docs/blob/master/language-tracks/exercises/anatomy/readmes.md
# Become a maintainer

The Exercism language tracks are a great way to get involved in:

Expand Down Expand Up @@ -148,3 +140,13 @@ hard to figure out how to solve it anyway.
In this case consider whether there's a blog post or some documentation that
you could point people to, and add it to `$ROOT/exercises/$SLUG/.meta/hints.md` in the exercise directory
in the language track. If the file doesn't exist, create a new one.

[tracks]: https://exercism.io/tracks
[repositories]: https://github.com/exercism
[triaging-issues]: https://github.com/exercism/docs/blob/master/you-can-help/triage-issues.md
[reviewing-prs]: https://github.com/exercism/docs/blob/master/you-can-help/review-pull-requests.md
[porting]: https://github.com/exercism/docs/blob/master/you-can-help/implement-an-exercise-from-specification.md
[problem-specifications]: https://github.com/exercism/problem-specifications
[blazon]: https://github.com/exercism/blazon
[blazon-process]: https://github.com/exercism/docs/blob/master/you-can-help/improve-exercise-metadata.md
[fixing-readmes]: https://github.com/exercism/docs/blob/master/language-tracks/exercises/anatomy/readmes.md
30 changes: 16 additions & 14 deletions pages/changelog.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,55 @@
### [Website]- Add ability to change which solutions are published:
# Changelog

## [Website]- Add ability to change which solutions are published:

Previously, you could not change which solutions are published. We have now enabled this along with the ability to choose which appear on the profile and which allow public comments. [#4163](https://github.com/exercism/exercism/issues/4163)

### [Website] Add communal mentoring notes
## [Website] Add communal mentoring notes
We have exposed the communal mentoring notes from GitHub to be visible directly within the UI.

### [Teams] Launch the site
## [Teams] Launch the site

We have built a dedicated site for teams. It allows groups of people to complete exercises and mentor each other in a private space. We envision it being used by bootcamps, groups of friends, and colleagues at work.

### [Website] Delete my account
## [Website] Delete my account

We needed to give people the ability to delete their account without emailing Jeremy.

### [Website] Reset CLI token
## [Website] Reset CLI token

We wanted to let people reset their CLI tokens in case they are leaked. [#4150](https://github.com/exercism/exercism/issues/4150)

### [Website] Improve experience of "Legacy" or "Practice" solutions in Mentored Mode
## [Website] Improve experience of "Legacy" or "Practice" solutions in Mentored Mode

Have separate restricted queues for core and side exercises when importing solutions created in v1 or in Practice Mode.

### [Website] Make side-exercise mentoring opt-in:
## [Website] Make side-exercise mentoring opt-in:
Copy link

@wolf99 wolf99 Mar 9, 2021

Choose a reason for hiding this comment

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

Colon at end of headings are not needed.
Same for other headings with colons or other punctuation (.?!:) at the end.
Not part of this change I know, but while you're editing the line...?

Just spotted a lot of these further down this change and the pedant grammarian in me is crying 🤣

Copy link

Choose a reason for hiding this comment

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

Sorry, just recalled this is still in draft; I'll stop now!


At the moment some tracks have thousands of side-exercises in the backlog. We're going to change this behaviour so people have to opt-in to mentoring on an exercise-by-exercise basis and can only request mentoring on a handful of exercises at once.

### [Website] Put challenge back to mentor queue if mentor leaves conversation:
## [Website] Put challenge back to mentor queue if mentor leaves conversation:
[#4308](https://github.com/exercism/exercism/issues/4308)

### [Website] Merge mentoring.exercism.io into the main site
## [Website] Merge mentoring.exercism.io into the main site

We wanted to streamline the sign up process, to remove the Google Form and the need to join slack to mentor. This is the first step in a long list of changes we'll make to the mentoring onboarding process.

### [Website] Make the site responsive.
## [Website] Make the site responsive.

The Exercism website is now mobile-responsive thanks to this [huge Pull Request](https://github.com/exercism/website/pull/252) by [@jackhughesweb](https://github.com/jackhughesweb)..

### [Website] Add all notifications
## [Website] Add all notifications

Marked a notification as read but want to still see it? We've added a button for "All notifications" that allows you to see both read and unread notifications. Credit to [@PatrickMcSweeny](https://github.com/PatrickMcSweeny).

### [Website] Comments auto-save as typed
## [Website] Comments auto-save as typed

Nothing is more frustrating than losing your work. To stop accidental tab-closes or refreshes, we've added autosaving as you type comments. Simply go back to the page and you'll find your text is still there!. Credit to [@jackhughesweb](https://github.com/jackhughesweb).

### [Website] Added Dark Theme to the code editor
## [Website] Added Dark Theme to the code editor

We have added a dark theme to the code editor. You can enable it in [your preferences](https://exercism.io/my/settings/preferences/edit). Credit to [@jackhughesweb](https://github.com/jackhughesweb).

### [Tracks] Merged the Javascript and ECMAScript tracks
## [Tracks] Merged the Javascript and ECMAScript tracks

We merged the Javascript and ECMAScript tracks with the aim of focussing the work of the maintainers and mentors into one place, and improve the quality of our offering.
12 changes: 7 additions & 5 deletions pages/cli.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,31 @@
### Installation
# CLI

## Installation

The Exercism command line interface (CLI) is a tool that can download exercises, show your progress through a track, and submit your solutions - all from within your terminal. The best way to get started with the CLI is our [Interactive Walkthrough](https://exercism.io/cli-walkthrough). It guides you down the right path depending on your operating system, experience with the command line, etc, and will get your CLI configured.

If you just want to download the CLI manually and work out how to use it, you can download and install it from [GitHub](https://github.com/exercism/cli/releases/latest). However, please note that we ask that you work through the [Interactive Walkthrough](https://exercism.io/cli-walkthrough) before opening any support requests.


### Upgrading from pre-v3
## Upgrading from pre-v3

If you have a previous version of the CLI and want to upgrade, please read [these instructions](https://github.com/exercism/website-copy/blob/master/pages/cli_v1_to_v2.md).

### Basic usage
## Basic usage
Run the help subcommand to get the full list of available commands.

```bash
exercism help
```

### Configuration
## Configuration
You need to tell the tool who you are. You can find your token in your [settings page](http://exercism.io/my/settings).

```
exercism configure --token=YOUR_API_TOKEN
```

### Troubleshooting
## Troubleshooting

Make sure you are on the latest version.

Expand Down
2 changes: 2 additions & 0 deletions pages/cli_v1_to_v2.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# CLI v1 to v2

If you haven't installed the new version of the command-line client (v3.x), please download the [latest release](https://github.com/exercism/cli/releases/latest). We recommend using our [interactive walkthrough](https://exercism.io/cli-walkthrough) to guide you through the installation and configuration process.

The CLI for Windows is broken for versions prior to 3.0.5.
Expand Down
14 changes: 8 additions & 6 deletions pages/code_of_conduct.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
### Introduction
# Code of Conduct

## Introduction

Exercism is a platform centered around empathetic conversation. We have a low tolerance for communication that makes anyone feel unwelcome, unsupported, insulted or discriminated against.

### Seen or experienced something uncomfortable?
## Seen or experienced something uncomfortable?

If you see or experience abuse, harassment, discrimination, or feel unsafe or upset, please email [email protected]. We will take your report seriously.

### Enforcement
## Enforcement

We actively monitor for Code of Conduct (CoC) violations and take any reports of violations extremely seriously. We have banned contributors, mentors and users due to violations.

After we receive a report of a CoC violation, we view that person's conversation history on Exercism and related communication channels and attempt to understand whether someone has deliberately broken the CoC, or accidently crossed a line. We generally reach out to the person who has been reported to discuss any concerns we have and warn them that repeated violations will result in a ban. Sometimes we decide that no violation has occurred and that no action is required and sometimes we will also ban people on a first offence. We strive to be fair, but will err on the side of protecting the culture of our community.

Exercism's leadership reserve the right to take whatever action they feel appropriate with regards to CoC violations.

### The simple version
## The simple version

- Be empathetic
- Be welcoming
Expand All @@ -23,7 +25,7 @@ Exercism's leadership reserve the right to take whatever action they feel approp
- Be supportive
- Be polite

### The details
## The details

Exercism should be a safe place for everybody regardless of
- Gender, gender identity or gender expression
Expand Down Expand Up @@ -72,7 +74,7 @@ If you say something that is found offensive, and you are called out on it, try
- Ask for tips / help with avoiding making the offence in the future.
- Apologise and ask forgiveness.

### History
## History

This policy was initially adopted from the Front-end London Slack community and has been modified since. A version history can be seen on [GitHub](https://github.com/exercism/website-copy/edit/master/pages/code_of_conduct.md).

Expand Down
4 changes: 3 additions & 1 deletion pages/contact.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Contact Us

The best place to get help with Exercism is on Github at [https://github.com/exercism/exercism](https://github.com/exercism/exercism). You are welcome to open issues for support requests, ask questions, suggest features, or anything else there.

If you'd like to get in touch privately please email us at [[email protected]](mailto:[email protected]), but please note that due to the quantity of emails we get we may not reply if the question would be more appropriate on GitHub.

If you have a Code of Conduct violation to report, please email us at [[email protected]](mailto:[email protected]) and include `[CoC]` in the subject line. We will deal with all CoC issues as a priority.
If you have a Code of Conduct violation to report, please email us at [[email protected]](mailto:[email protected]) and include `[CoC]` in the subject line. We will deal with all CoC issues as a priority.
2 changes: 2 additions & 0 deletions pages/contribute.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Contribute

We're really excited and grateful that you want to help with Exercism.

There are three main ways to contribute to Exercism:
Expand Down
Loading