vitepress icon indicating copy to clipboard operation
vitepress copied to clipboard

@include markdown and code files from an arbitrary public URL

Open hkong-mitre opened this issue 1 year ago • 4 comments

Is your feature request related to a problem? Please describe.

My project spans several repositories under a single GitHub user. I'm building a vitepress project (which is in its own repository) for documentation and API reference for all my repositories because they are all related to each other. I like to include Markdown and code snippets from each of the repositories.

I've tried this for including files from my vitepress repository, like this

<!--@include: ./setup.md-->

and it works nicely, but

<!--@include: https://github.com/CVEProject/cvelistV5/blob/main/README.md#reporting-issues -->

does not work.

It would be very helpful to be able to include arbitrary markdown and code into my vitepress project. Is there a way to do this?

Describe the solution you'd like

It would be very helpful to be able to include arbitrary markdown and code into my vitepress project.

Sections from a Markdown file:

<!--@include: https://github.com/CVEProject/cvelistV5/blob/main/README.md#reporting-issues -->

Lines from a JSON (or any source code) file:

<!--@include:  https://github.com/CVEProject/cvelistV5/blob/main/cves/1999/0xxx/CVE-1999-0001.json{123,131} -->

Is there a way to do this?

Describe alternatives you've considered

One possible alternative to doing it in vitepress' markdown extension is to write a Vue component that reads in the file and displays that, but having it as a feature of vitepress so others can use it would be more useful to the vitepress community.

Additional context

I think this feature would be useful for writing Guides and API References, but also other documentation (e.g., a full tutorial for using Vue and vitepress in a Docker container, in a section for how to set up the development environment) where it would be even more important so that the doc is always up-to-date with its dependent projects.

Validations

hkong-mitre avatar Dec 16 '23 18:12 hkong-mitre

Hey @brc-dd, how's going?

Is there a way to define documentation across multiple packages in multiple github repositories, while having a single repository for documentation, but keep each package's documentation in their own repo?

This PR might solve this use case, but I'm not sure...

arthurfiorette avatar May 17 '24 03:05 arthurfiorette

Is there a way to define documentation across multiple packages in multiple github repositories, while having a single repository for documentation, but keep each package's documentation in their own repo?

You probably can use git submodules + rewrites for that. I don't think this will help with that because with this you'll need to create a bunch of md files in your docs repo with just an @include: directive.

brc-dd avatar May 18 '24 09:05 brc-dd

@brc-dd Very interesting. But how can I link a file on my repo ?
Using this syntax the file is not included :o(

:::code-group
```bash [Dockerfile]
<!-- @include: https://dev.azure.com/xxxxxxxxxxxx/_git/horizon-fe?path=/Dockerfile -->

clabnet avatar Jun 03 '24 15:06 clabnet