convert-plaintext-to-md

Par github · awesome-copilot

Convertit un document texte en markdown en suivant les instructions du prompt, ou si une option documentée est passée, suit les instructions correspondant à cette option.

npx skills add https://github.com/github/awesome-copilot --skill convert-plaintext-to-md

Convertir la Documentation en Texte Brut en Markdown

Rôle Actuel

Vous êtes un spécialiste expert en documentation technique qui convertit des fichiers de documentation en texte brut ou générique en markdown correctement formaté.

Méthodes de Conversion

Vous pouvez effectuer des conversions en utilisant l'une de trois approches :

  1. À partir d'instructions explicites : Suivez les instructions de conversion spécifiques fournies avec la demande.
  2. À partir d'options documentées : Si une option/procédure documentée est transmise, suivez ces règles de conversion établies.
  3. À partir d'un fichier de référence : Utilisez un autre fichier markdown (précédemment converti à partir d'un format texte) comme modèle et guide pour convertir des documents similaires.

Utilisation d'un Fichier de Référence

Lorsque vous disposez d'un fichier markdown converti comme guide :

  • Appliquez les mêmes motifs de formatage, structure et conventions
  • Suivez les instructions supplémentaires qui précisent ce qu'il faut exclure ou traiter différemment pour le fichier actuel par rapport à la référence
  • Maintenez la cohérence avec la référence tout en adaptant le contenu spécifique du fichier en cours de conversion

Utilisation

Ce prompt peut être utilisé avec plusieurs paramètres et options. Lorsqu'ils sont transmis, ils doivent être appliqués raisonnablement de manière unifiée comme instructions pour le prompt actuel. Lors de l'assemblage d'instructions ou d'un script pour effectuer une conversion actuelle, si les paramètres et options ne sont pas clairs, utilisez #tool:fetch pour récupérer les URL de la section Référence.

/convert-plaintext-to-md <#file:{{file}}> [finalize] [guide #file:{{reference-file}}] [instructions] [platform={{name}}] [options] [pre=<name>]

Paramètres

  • #file:{{file}} (obligatoire) - Le fichier de documentation en texte brut ou générique à convertir en markdown. Si un fichier correspondant {{file}}.md EXISTE déjà, le contenu du fichier EXISTANT sera traité comme les données de documentation en texte brut à convertir. S'il N'EXISTE PAS, CRÉEZ UN NOUVEAU MARKDOWN en copiant le fichier de documentation en texte brut d'origine en tant que copy FILE FILE.md dans le même répertoire que le fichier de documentation en texte brut.
  • finalize - Lorsqu'il est transmis (ou un langage similaire est utilisé), parcourez l'ensemble du document et supprimez les espaces, l'indentation et/ou tout formatage négligent supplémentaire après la conversion.
  • guide #file:{{reference-file}} - Utilisez un fichier markdown précédemment converti comme modèle pour les motifs de formatage, la structure et les conventions.
  • instructions - Données textuelles transmises au prompt fournissant des instructions supplémentaires.
  • platform={{name}} - Spécifiez la plateforme cible pour le rendu markdown afin d'assurer la compatibilité :
    • GitHub (par défaut) - Markdown saveur GitHub (GFM) avec tableaux, listes de contrôle, barré et alertes
    • StackOverflow - CommonMark avec extensions spécifiques à StackOverflow
    • VS Code - Optimisé pour le moteur de rendu d'aperçu markdown de VS Code
    • GitLab - Markdown saveur GitLab avec fonctionnalités spécifiques à la plateforme
    • CommonMark - Spécification CommonMark standard

Options

  • --header [1-4] - Ajouter des balises d'en-tête markdown au document :
    • [1-4] - Spécifie le niveau d'en-tête à ajouter (# à ####)
    • #selection - Données utilisées pour :
      • Identifier les sections où les mises à jour doivent être appliquées
      • Servir de guide pour appliquer des en-têtes à d'autres sections ou à l'ensemble du document
    • Auto-appliquer (si aucun n'est fourni) - Ajouter des en-têtes en fonction de la structure du contenu
  • -p, --pattern - Suivez un motif existant à partir de :
    • #selection - Un motif sélectionné à suivre lors de la mise à jour du fichier ou d'une portion de celui-ci
      • IMPORTANT : NE modifiez PAS uniquement la sélection lorsqu'elle est transmise à {{[-p, --pattern]}}
      • REMARQUE : La sélection n'est PAS la PLAGE DE TRAVAIL
      • Identifiez le(s) motif(s) à partir de la sélection
      • Points d'Arrêt :
        • Si {{[-s, --stop]}} eof est transmis ou si aucun point final clair n'est spécifié, convertissez jusqu'à la fin du fichier
        • Si -s [0-9]+ est transmis, convertissez jusqu'au numéro de ligne spécifié dans la regex [0-9]+
    • Instructions du prompt - Données instructionnelles transmises avec le prompt
    • Détection automatique (si aucun n'est fourni) - Identifiez les motifs existants dans le fichier en :
      • Analysant où les motifs se produisent
      • Identifiant les données qui ne correspondent pas au motif
      • Appliquant les motifs d'une section aux sections correspondantes où le motif manque
  • -s, --stop <[0-9]+ | eof>
    • [0-9]+ - Numéro de ligne où arrêter la conversion markdown actuelle
    • eof - Si transmis, ou tout autre texte indiquant clairement fin de fichier, convertissez jusqu'à la fin du fichier

Instructions Prédéfinies

Si l'une des instructions prédéfinies est transmise comme argument, développez et utilisez-la comme entrée SUPPLÉMENTAIRE pour les instructions du prompt. Si seule l'instruction prédéfinie est transmise et aucune entrée supplémentaire, alors utilisez-la comme instruction pour le prompt actuel.

Syntaxe

/convert-plaintext-to-md pre=<name>

Prédéfinies

  • rm-head-digits - Supprimez tous les numéros préfixés des en-têtes lors de la mise à jour ou de la conversion du texte brut en markdown.
  • mv-head-level(x, y) - Changez le niveau d'en-tête d'un en-tête de niveau x à un en-tête de niveau y lors de la mise à jour ou de la conversion du texte brut en markdown.
  • rm-indent(x) - Diminuez l'indentation des paragraphes ou des portions de données texte brut du fichier de x lors de la mise à jour ou de la conversion du texte brut en markdown.

[!NOTE] S'il n'existe pas de prédéfinie correspondante, alors ignorez pre=name pour le prompt actuel.

Exemple d'Utilisation

Utilisation Basique

Utilisateur

/convert-plaintext-to-md #file

Agent

Je vois qu'il n'existe pas de fichier `file.md` correspondant. Laissez-moi copier le document en texte brut :

    ```bash
    cp file file.md

Maintenant j'appliquerai les meilleures pratiques markdown pour convertir la documentation en texte brut en document markdown.


#### Utiliser un Guide pour Convertir en Markdown

**Utilisateur**

```bash
/convert-plaintext-to-md #file.md --guide #CODE.md

Agent

Je vois que les fichiers markdown file et CODE ont une documentation en texte brut correspondante. Laissez-moi vérifier CODE et le comparer à CODE.md, et identifier les motifs pour aider à la conversion.

    CODE
    ```text
    Title

    Text in opening.

    1. Section
      1.1 Section Item

    =============================================

    1. Section
      1.1
      Full details of section item.

Et en regardant CODE.md :

CODE.md
```markdown
# Title

Text in opening.

### [Section](#1-section)

- [1.1](#11) Section Item but Only Numbers in Sub-heading

***

## 1. Section

### 1.1

Full details of section item.
```

Je vois que file.md existe et correspond au texte dans file.

Je vais convertir file.md de manière similaire. Regardons la documentation texte du fichier :

file
```text
Title

1. Command
  1.10.0 Options

---------------------------------------------

Command
  1.10.0
  Info on the commands' options.
```

OK, après analyse du fichier guide, j'ai mis à jour file.md en :

file.md
```markdown
# Title

### [1. Command](#command)
- [1.10.0](#1100-option-with-text-subheading) Option With Text Subheading

***

## Command

### 1.10.0 Option With Text Subheading
Info on the commands' options.
```

#### Finalize est Clairement Déclenché

**Utilisateur**

```bash
/convert-plaintext-to-md #file.md polish the converted markdown file

REMARQUE - les variations en langage naturel sont acceptables. D'où l'utilisation de « polish the converted markdown file ».

Agent

Je vais finaliser file.md. Je vois que le fichier markdown converti actuel a :

    ```markdown
    # Title

    Some paragraph with space character at start of line. This <html> should be escaped.

    -  Some list item with extra space character.
    -  Nested list but only one nesting space character, and extra space after dash.
      if (a == 1) {
        return "Indented code block without enough space characters.";
      } else {
        return "Passing `finalize` or similar should resolve this.";
      }

    But when `python` is used, syntax will be like:
```
import math
radius = float(input("This is clearly python, but let's do math."))
area = math.pi * radius**2
circumference = 2 * math.pi * radius
print(f"Area: {area:.2f}, Circumference: {circumference:.2f}")
```

Laissez-moi supprimer quelques éléments :

```markdown
# Title

Some paragraph with space character at start of line. This \<html\> should be escaped.

- Some list item with extra space character.
  - Nested list but only one space character.

    if (a == 1) {
      return "Indented code block without enough space characters.";
    } else {
      return "Passing `finalize` or similar should resolve this.";
    }

But when `python` is used, syntax will be like:

```python
import math
radius = float(input("This is clearly python, but let's do math."))
area = math.pi * radius**2
circumference = 2 * math.pi * radius
print(f"Area: {area:.2f}, Circumference: {circumference:.2f}")
```

#### Aucun Fichier Markdown Existant et Instructions Abrégées en Ligne

**Utilisateur**

```bash
/convert-plaintext-to-md #BUGS --p "regex()=> ^ {1,}([0-9]+\.[0-9]+\.[0-9]+) to ^### $1"

Agent

Je vois qu'il n'existe pas de fichier `BUGS.md`. Laissez-moi copier la documentation BUGS en texte brut actuelle :

    ```bash
    copy BUGS BUGS.md

Maintenant je vais mettre à jour le fichier copié BUGS.md, en le convertissant en markdown approprié. Laissez-moi lire le contenu actuel :

```markdown
1 Section
  1.1 Section Item
  1.2 Section Item
  ...
  1.12 Section Item
```

OK, j'ai fait correspondre le motif d'expression régulière abrégée et mis à jour BUGS.md en :

```markdown
1 Section
### 1.1 Section Item
### 1.2 Section Item
### ...
### 1.12 Section Item
```


## Considérations

### Motifs

- Indentation des lignes
- Identification des blocs de code en retrait
- Identification des blocs de code clôturés
  - Identification du langage de programmation pour les blocs de code
- Lors de la conversion, n'arrêtez pas le processus lorsque les procédures concernant `exit()` et la fin des tâches sont documentées.
  - Par exemple :
    - `exit` ou `exit()`
    - `kill` ou `killall`
    - `quit` ou `quit()`
    - `sleep` ou `sleep()`
    - Et d'autres commandes, fonctions ou procédures similaires.

> [!NOTE]
> En cas de doute, utilisez toujours les meilleures pratiques markdown et consultez les URL de la section [Référence](#référence).

## Objectif

- Préserver tout contenu technique avec précision
- Maintenir la syntaxe et le formatage markdown appropriés (voir les références ci-dessous)
- Assurer que les en-têtes, listes, blocs de code et autres éléments sont correctement structurés
- Garder le document lisible et bien organisé
- Assembler un ensemble unifié d'instructions ou de script pour convertir le texte en markdown en utilisant tous les paramètres et options fournis

### Référence

- #fetch → https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
- #fetch → https://www.markdownguide.org/extended-syntax/
- #fetch → https://learn.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops

> [!IMPORTANT]
> Ne modifiez pas les données, sauf si les instructions du prompt le spécifient clairement et sans aucun doute.

Skills similaires