facebook / facebook/docusaurus

Allow codeblocks to show only part of the content

未关闭
#10,026 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
proposal
主要语言
TypeScript
星标
66.2k
派生
10k
平均合并
1 天 3 小时
30 天内合并 PR
52

描述

### Have you read the Contributing Guidelines on issues?

- [X] I have read the [Contributing Guidelines on issues](https://github.com/facebook/docusaurus/blob/main/CONTRIBUTING.md#issues).

### Motivation

Often when writing code blocks you may be writing only a part of the code, for example a method in a class, even a one-liner.

In PHP this may look like the following:
```php
public function doSomething(
string $someValue,
): void {
// ...
}
```

This works great for the most part, but it also isn't valid PHP on it's own.

It would be great if it were possible to add some metadata/comment so that you could provide the bare minimum to make the code valid, but only show the same code still.

For example:
```
```php
// docusaurus:stopDisplay
class Example {
// docusaurus:startDisplay
public function doSomething(
string $someValue,
): void {
// ...
}
// docusaurus:stopDisplay
}
\```
```

The benefit I'm after with doing this is the ability to somehow extract the full code blocks, and then to lint the code and check for any errors.

### Self-service

- [X] I'd be willing to do some initial work on this proposal myself.

I'm happy to have a go at this if given guidance on how you'd want it to look. I imagine something along the same lines as the [line highlighting](https://docusaurus.io/docs/markdown-features/code-blocks#line-highlighting) support.

I'll also suggest that whatever comment is chosen should really be prefixed with something like `docusaurus:`.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。