Skip to content

Contributing to the Documentation

The Exegol documentation is built using VitePress. This guide will help you contribute to the documentation.

Getting started

  1. Fork the Exegol-docs repository
  2. Checkout the dev branch
  3. (optional) create a new branch in your fork, if you plan on working on different topics
  4. Create your content using this guide
  5. Make sure the content builds fine with npm install && npm run docs:dev
  6. Stage, Commit, and Push your changes
  7. Submit a Pull Request (https://github.com/ThePorgs/Exegol-docs/compare)

Documentation Structure

The documentation is organized into several sections:

  • General
    • About Exegol
    • Getting started
    • Frequently Asked Questions
    • Troubleshooting
    • Tips & tricks
  • Exegol components
    • Images
    • Wrapper
    • Resources
    • Dashboard
  • Contributing notes
  • Legal documents

All documentation files are stored in the /docs/src folder.

Writing Style

When writing documentation, maintain the following tone & voice:

  • Professional and Authoritative: Content should maintain a professional tone, suitable for a technical audience.
  • Instructional and Informative: Writing should aim to educate the reader, with clear instructions and explanations.
  • Impersonal and Objective: Avoid directly addressing the reader or using personal pronouns. Use passive constructions or neutral phrasing.

Markdown Features

The documentation supports several markdown features:

Code Blocks

Use triple backticks to delimit code blocks, specifying the language after the first set of backticks:

python
print('hello world')

Tabs

markdown
::: tabs
== Tab 1
Content for tab 1

== Tab 2
Content for tab 2
:::

Callouts

The documentation uses GitHub-flavored alerts for callouts:

NOTE

Additional information that can almost be ignored, but may be interesting to know.

TIP

Useful suggestions and recommended practices. Something you'd tell a friend.

INFO

A thing that should probably be told users.

IMPORTANT

Essential information that requires attention. An emphasized note.

WARNING

Potential risks or issues to be aware of. Moderate risk.

CAUTION

Important considerations that need careful attention. High risk.

DANGER

Critical warnings about potentially harmful situations. Critical information.

SUCCESS

Indicates a positive outcome or achievement.

markdown
> [!NOTE/TIP/INFO/...] (Optional) title
> Content
  • Links: [title](link)
  • Images: ![](path/to/image)
  • Images with caption:
markdown
![](path/to/image)
Some caption{.caption}

Theme-specific Images

You can specify different images for light and dark themes using the data-theme attribute:

markdown
<!-- Image for both themes -->
![Description](./image.png)

<!-- Image for light theme only -->
![Description](./image.png){data-theme="light"}

<!-- Image for dark theme only -->
![Description](./image.png){data-theme="dark"}
TIP

If there are spaces in the image path, either spaces need to be URL-encded (%20), or the following structure can be used (recommended): ![](<path/to/some image>)

YouTube Videos

To embed a YouTube video:

markdown
<YouTubeVideo videoId="dQw4w9WgXcQ" />

Quotes

"Someone said something important and it should be highlighted in the article? Please quote it and attribute it to the initial author."

(Author, date, source)

markdown
> "Someone said something important and it should be highlighted in the article? Please quote it and attribute it to the initial author."
>  
> _(Author, date, [source](#))_

Others

BlockDescription
LinksInternal links (to other articles, or to anchor points)
TablesTables (like this one)
EmojisEmojis 🎉

Last updated: