-
Notifications
You must be signed in to change notification settings - Fork 9.1k
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
allowing $ref in descriptions #2697
Comments
How would you tell whether the description is a reference or actually the text itself? |
Specify it on a new line, like this: openapi: 3.0.3
info:
title: AcMe OpenAPI
description:
$ref: "markdown/acme-oas.md"
# more stuff here...
- name: Controls
description:
$ref: "markdown/controls.md" It works like a charm; we render a web documentation and also |
It works like a charm if it's a JSON Schema document (which in many places its not). But what if those are the actual values of the description and are not meant to be references? |
@webron a literal string description: >-
"$ref": "markdown/controls.md"
description: '"$ref": "markdown/controls.md"' # note the extra quotes around the string
description:
'"$ref": "markdown/controls.md"' # note the extra quotes around the string
description: "\"$ref\": \"markdown/controls.md\"" or similar. This is different from description:
$ref: "markdown/controls.md" which denotes an object with the |
I'd like to upvote this feature request as well |
JSON Schema only allows |
There are definitely a number of requests for adding more The request for allowing the markdown fields to refer to externally-stored markdown is a very valid one. Redocly does support exactly the syntax suggested in this issue and one of the big benefits is that the markdown can more easily be linted/spellchecked etc when its in a markdown file than when it's in another data structure. Especially for the description fields that accept markup, this would be a good feature. |
Given that this is already in use in the wild, we should probably consider it for 3.2. Philosophically, I find this kinda meh, but that's pretty much the only argument against it that I can think of and even I don't find that convincing 🙃 I think the main question for 3.2.0 is how much we want to add any new referencing requirements. But "it's already implemented" is pretty compelling evidence that it's not hard. |
I think we should consider how to serve this use case, but I am not in favour of the existing suggested syntax, putting a Looking at other ways that this is implemented elsewhere, there's some much nicer description-override functionality in the Speakeasy customisation options: https://www.speakeasy.com/docs/customize-sdks/sdk-docs#per-sdk-comments where an I already had a half-baked idea for doing an For us to include something like that in the docs, does it become like the License field, a mutually exclusive choice between |
Some descriptions can be long or very long. Allowing $ref would be useful to reference an external file with only text, e.g. markdown. It'd be great if info.description and tags.name/description could use it (without IDE validation errors).
The text was updated successfully, but these errors were encountered: