Création d'un gabarit Word :

Pour la transformation du Word en HTML, toutes les sortes de Word fonctionneront (à moins d'un bogue)

Pour la génération d'un fichier json, le Word doit contenir un ou des tableaux à la racine du document contenant au moins 2 colonnes par tableau.
La dernière colonne contient le contenu qui sera transformé en Text, BoldItal ou HTML.
La première colonne contient des options pour le script

[transformation] (optionnel : [Text | BoldItal | Html] default:Html)
{{nomDeLaVariable}}
<nomObj> (optionnel)
</nomObj> (optionnel)
Colones inutile pour le script La dernière colonnes contient la contenu qu'on souhaite transformé en Text | BoldItal | Html

  • {{nomDeLaVariable}} définis le nom de la propriété rajouté dans l'objet json
    Si le nom de la variable est utilisé plus d'une fois dans le même objet, cette variable sera transformée en array pour contenir tous les contenus qui lui sont affectés.
    S'il le nom de la variable n'est pas présent, le contenu (dernières colonnes) ne sera pas traité ni intégré au Json. (l'ouverture et la fermeture d'object sera quand même pris en compte.)
  • [transformation] définis le type de transformation à effectuer sur le contenu (dernières colonnes).
    Text = texte brut | BoldItal = strong, em, sup, sub, a | Html = strong, em, sup, sub, a, img, br, p, h1, h2, h3, h4, h5, h6, ul, li, td, tr, table
  • <nomObj> sert à débuter un nouvel object qui sera imbriqué dans son parent.
  • </nomObj> sert à de délimiteur de fin au nouvel object précédemment créé.

Point à prendre en compte :

  • Les commentaires :
    • Les commentaires Word peuvent générer des erreurs.
  • Équation mathématique :
    • Il faut convertir les équations MathTypes en MathJax:LaTeX
    • Les équations Word génèrent des erreurs
  • Les listes :
    • Le script ne sait pas si les listes sont des listes ordonnée (ol) ou désordonnée (ul). Il les met donc tous en ul.
    • Souvent les listes dans les Word ne sont pas bien faites ce qui impacte sur le rendu HTML.

Demo

Document word

[BoldItal]
{{titre}}

Titre du cours

Le titre du cours

[Text]
{{numeroAdobeStock}}

Numéro adobe stock

453453753

{{introduction}}

Introduction au cours

Cours texte d’introduction au cours

<module>
[BoldItal]
{{titreModule}}

Titre du module

Titre du module 1

<trame>
<piste>
{{contenu}}

Contenu le piste

Contenu de la piste 1

{{strategieAccompagnement}}
</piste>

Strategie d’accompagement de la piste

Stratégie d’accompagement de la piste 1

{{motCle}}

Mot cle

Mot cle 1

{{motCle}}

Mot cle

Mot cle 2

{{motCle}}
</trame>
</module>

Mot cle

Mot cle 3

Rendu Json

{
  "titre": "Le <strong>titre</strong> du <em>cours</em>",
  "numeroAdobeStock": "453453753",
  "introduction": "<p>Cours texte d’introduction au cours</p>",
  "module": [
    {
      "titreModule": "Titre du module 1",
      "trame": [
        {
          "piste": [
            {
              "contenu": "<p>Contenu de la piste 1</p>",
              "strategieAccompagnement": "<p>Stratégie d’accompagement de la piste 1</p>"
            }
          ],
          "motCle": [
            "<p>Mot cle 1</p>",
            "<p>Mot cle 2</p>",
            "<p>Mot cle 3</p>"
          ]
        }
      ]
    }
  ]
}