Skip to content

[V2] Potential code block improvements #2271

Closed

Description

@markerikson

🚀 Feature

v2 code blocks currently have the ability to highlight specific line numbers, like this:

```jsx {1,4-6,11}

However, highlighting lines based on line numbers is somewhat difficult to use.

The gatsby-remark-prismjs plugin has the ability to highlight individual lines by putting a // highlight-next-line comment in front, or highlight ranges of lines using // highlight-start and // highlight-end pairs. It looks like the logic is implemented in this directives.js file.

This would be a great addition to the Docusaurus Prism plugin.

In addition, I've seen that many docs websites have code snippets that include a filename in front of the block, such as Gatsby (example) and Ember (example).

Gatsby's Markdown for this looks like:

```javascript:title=src/pages/about-css-modules.js
import React from "react"
// highlight-next-line
import styles from "./about-css-modules.module.css"
import Container from "../components/container"

// highlight-next-line
console.log(styles)

Have you read the Contributing Guidelines on issues?

Yes

Motivation

Easier line highlights and filenames would be very useful, especially as part of tutorials that are telling users what to edit.

Activity

  1. added
    featureThis is not a bug or issue with Docusausus, per se. It is a feature request for the future.
    status: needs triageThis issue has not been triaged by maintainers
    on Feb 6, 2020
  2. added
    difficulty: intermediateIssues that are medium difficulty level, e.g. moderate refactoring with a clear test plan.
    and removed
    status: needs triageThis issue has not been triaged by maintainers
    on Feb 18, 2020
  3. yangshun commented on Feb 18, 2020

    @yangshun
    Contributor

    Sounds very useful indeed!

  4. added
    good first issueIf you are just getting started with Docusaurus, this issue should be a good place to begin.
    on Feb 18, 2020
  5. elviswolcott commented on Feb 27, 2020

    @elviswolcott
    Contributor

    I've built these features out for an internal site on docusaurus v1 before. I'll take a stab at implementing it with this syntax sometime next week if no one takes it before then.

  6. elviswolcott commented on Mar 4, 2020

    @elviswolcott
    Contributor

    It looks life @kohheepeace has the code titles figured out. I can take a stab at the code highlight comments.

  7. markerikson commented on Mar 22, 2020

    @markerikson
    Author

    Looks like the filename title PR is almost done. @elviswolcott , are you still looking at doing the code highlighting comments feature?

  8. elviswolcott commented on Mar 22, 2020

    @elviswolcott
    Contributor

    Yeah, lost track of this with everything going on the last few weeks. I'll get a PR together in the next few days.

  9. elviswolcott commented on Mar 24, 2020

    @elviswolcott
    Contributor

    My PR implements highlight-next-line, highlight-start, and highlight-end.

    The linked Gatsby plugin also includes a highlight-range comment which I did not implement, as it doesn't seem particularly useful. It is somewhat more useful than the current method (e.g. highlighting relative to a function declaration) but it seems that highlight-next-line, highlight-start, and highlight-end will always be more readable and maintainable.

    If anyone thinks it should be added, I can throw it in.

  10. markerikson commented on Apr 1, 2020

    @markerikson
    Author

    Looks like both the requested features are in https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.49 , so I'll close this. Thanks!

  11. yangshun commented on Apr 1, 2020

    @yangshun
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    difficulty: intermediateIssues that are medium difficulty level, e.g. moderate refactoring with a clear test plan.featureThis is not a bug or issue with Docusausus, per se. It is a feature request for the future.good first issueIf you are just getting started with Docusaurus, this issue should be a good place to begin.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions