-
-
Notifications
You must be signed in to change notification settings - Fork 14
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
lint: All Markdown in track definitions should lint properly #150
Comments
Sorry @coriolinus. I missed this. I'll move it to a different repo (as this is closing) and reply next week. |
@coriolinus For your first rule, are you happy to change it to
Not all documents should have a heading, but if they do, I'm ok with that heading always being a |
Yeah, so basically every file would need that top level heading removed from it before it's rendered. That already happens in lots of places in the UI, where the docs are used for content but not headings. Take as an example:
The heading on the website is unrelated to the content in the document. In v3 this becomes more acute as things like READMEs are generated from lots of files being pieced together, with various headings conditionally inserted. So a proposal that would work for me is that we say every document must start with |
So, in the rendered contact page, there is in fact a header directly above the content. I don't know if that's hardcoded right now or what, but long-term, it seems to me that just rendering that header from the markdown file wouldn't cause huge issues. Still, I'd rather incremental improvements over all-or-nothing. Would it work for you if the policy were: every document must start with |
It's hardcoded yes. A blog is maybe another good example, where the header is separated from the content by quite a lot of "noise" (e.g. a video) in v3, so it can't be just parsed as the markdown. In that example,
it probably wouldn't here, but in other places, it wouldn't work. To be clear, I don't mind stripping the headers out at the website level. I just don't really want different rules for different files, as that gets really complex quickly at the website end. So as long as we have a "global' rule, I'm ok. In parallel to posting here, I've also spent some time bouncing this 1-1 with a few people (easier than doing it in here where it would probably have degraded into people taking "sides"). I can get consensus for:
I think there are three categories of docs that get "used" in Exercism:
@coriolinus If you're happy with this, I'll put together a "clean" issue and check no-one majorly objects, and then we can update the docs etc, and Erik can do his thing of script-PRing everything :) Thanks for raising this :) |
Ok, that works for me. Thanks!
…On Wed, Feb 3, 2021, 20:21 Jeremy Walker ***@***.***> wrote:
So, in the rendered contact page, there is in fact a header directly above
the content. I don't know if that's hardcoded right now or what
It's hardcoded yes. A blog is maybe another good example, where the header
is separated from the content by quite a lot of "noise" (e.g. a video) in
v3, so it can't be just parsed as the markdown. In that example,
it seems to me that just rendering that header from the markdown file
wouldn't cause huge issues.
it probably wouldn't here, but in other places, it wouldn't work.
To be clear, I don't mind stripping the headers out at the website level.
I just don't really want different rules for different files, as that gets
really complex quickly at the website end. So as long as we have a "global'
rule, I'm ok.
------------------------------
In parallel to posting here, I've also spent some time bouncing this 1-1
with a few people (easier than doing it in here where it would probably
have degraded into people taking "sides").
I can get consensus for:
- All docs start with a level-1 title. This is removed before it gets
into the "Exercism" website/CLI/etc. So level-1 headings are there purely
there for consumers on GH.
- No title has a level more than 1 greater than the previous title
- Use h2 - h4 for semantic headings. (I don't think we need more than
3 layers of nesting)
- We add this to linting rules in conflglet etc
I think there are three categories of docs that get "used" in Exercism:
1. Problem Specs docs (e.g. description.md)
2. Website Copy docs (e.g. contact.md)
3. Track docs (e.g. TESTS.md)
- 1 can be handled by crowd-sourcing people checking the descriptions.
We can put a project together for this and ask people for help. It's a
relatively trivial job to do each individual one, so good low-hanging fruit
for contributors.
- 2 is trivial - I'll do it.
- 3 is going to be largely addressed by the ensuing chaos of
exercism/docs#36 <exercism/docs#36> (still WIP
- comments welcome) anyway, so we can work it out as part of that.
@coriolinus <https://github.com/coriolinus> If you're happy with this,
I'll put together a "clean" issue and check no-one majorly objects, and
then we can update the docs etc, and Erik can do his thing of script-PRing
everything :)
Thanks for raising this :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#150 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB3V4TWRNBTG7ECND3DE66TS5GMHVANCNFSM4WX4PR2Q>
.
|
This adds a markdown specification document. Please see exercism/configlet#150 (comment) for the rationale of these choices.
Added here: exercism/docs#38 🙂 |
@coriolinus, my initial work on this:
Would also appreciate your opinion on: |
See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* Create markdown specification document This adds a markdown specification document. Please see exercism/configlet#150 (comment) for the rationale of these choices. * Update contributing/standards/markdown.md Co-authored-by: Sascha Mann <git@mail.saschamann.eu> * Link to Markdown standards in linting rules * Update contributing/standards/markdown.md Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com> Co-authored-by: Sascha Mann <git@mail.saschamann.eu> Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com>
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 (comment) for the rationale of these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* Create markdown specification document This adds a markdown specification document. Please see exercism/configlet#150 (comment) for the rationale of these choices. * Update contributing/standards/markdown.md Co-authored-by: Sascha Mann <git@mail.saschamann.eu> * Add markdown one-line-per-line layout rule * Update contributing/standards/markdown.md Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com> * Update contributing/standards/markdown.md Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com> * Add linting rules (#45) * Add linting rules * Update contributing/standards/markdown.md Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com> Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com> Co-authored-by: Sascha Mann <git@mail.saschamann.eu> Co-authored-by: Erik Schierboom <erik_schierboom@hotmail.com>
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
* [v3] Add level one headings to Markdown files. All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md). * [v3] Markdown sub-headings must be parent level incremented by one. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
@ErikSchierboom are we happy to close this now that we have #249 and exercism/docs/building/markdown/markdown.md? I haven't checked that all the points raised in this issue are addressed in those places. |
Yes. |
All Markdown files should, from this point on, start with a level one heading. See exercism/configlet#150 for the rationale behind these changes. The full specification can be found [here](https://github.com/exercism/docs/blob/main/contributing/standards/markdown.md).
In particular, fragments such as
introdcution.md
,instructions.md
, and the like, should have no issues reported bymarkdownlint
or a comparable linter. In particular, that implies these properties:Why?
Why not?
Even so
In my opinion, the benefits outweigh the drawbacks. We have some temporary pain while we update existing files, but from then on, it becomes easier to work with markdown to ensure that the editing experience is smooth and the rendered content is consistent.
The text was updated successfully, but these errors were encountered: