Publié le :
Macro / Documentation CREATION_INTERNE

Génération de documentation Code Diary et conversion HTML

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce programme initialise l'environnement en incluant des macros spécifiques (`code_diary`, `convert_markdown_to_html`). Il définit ensuite, via des étapes DATA et `datalines`, des tables de configuration pour gérer les alias, l'ordre des sections, les en-têtes et les règles de nettoyage ('scrub'). Enfin, il exécute la macro `%code_diary` pour produire un fichier Markdown à partir d'un projet SAS©, suivi de la macro `%convert_markdown_to_html` pour produire le rendu final au format HTML.
Analyse des données

Type : CREATION_INTERNE


Les données utilisées (alias_list, order_list, header_list, scrub_list) sont des tables de paramétrage créées directement dans le script via `datalines`.

1 Bloc de code
MACRO CALL
Explication :
Inclusion des définitions de macros externes nécessaires au traitement depuis le répertoire pointé par la variable macro `&MACRO_ROOT`.
Copié !
1%include "&MACRO_ROOT.code_diary.sas";
2%include "&MACRO_ROOT.convert_markdown_to_html.sas";
3 
2 Bloc de code
DATA STEP Data
Explication :
Création de quatre tables SAS temporaires (`alias_list`, `order_list`, `header_list`, `scrub_list`) à l'aide de `datalines`. Ces tables contiennent les paramètres de configuration pour la macro de documentation (mapping de mots-clés, ordre d'affichage, libellés des en-têtes, éléments à masquer).
Copié !
1DATA work.alias_list;
2 INFILE DATALINES;
3 INPUT short_keyword $1-10 long_keyword $11-50;
4 DATALINES;
5excl exclusion
6stat statistics
7;
8 
9DATA work.order_list;
10 INFILE DATALINES;
11 INPUT keyword $1-20 order_no 21-25;
12 DATALINES;
13todo -30
14exclusion -20
15exclusion.time -19
16exclusion.person -18
17methods -10
18no_keyword 0
19;
20 
21DATA work.header_list;
22 INFILE DATALINES;
23 INPUT keyword $1-15 header $16-50;
24 DATALINES;
25exclusion Exclusion criteria
26person Subjects
27time Time periods
28todo Task list
29;
30 
31DATA work.scrub_list;
32 INFILE DATALINES;
33 INPUT keyword $1-15;
34 DATALINES;
35todo
36regex
37;
3 Bloc de code
MACRO CALL
Explication :
Appel de la macro `%code_diary` pour analyser le fichier `project_main.sas`. Elle utilise les tables de configuration créées précédemment pour structurer et filtrer le contenu, générant deux fichiers Markdown en sortie.
Copié !
1%code_diary(
2 input_main_file = &DEMO_ROOT.project_main.sas,
3 out_dir = &DEMO_ROOT,
4 out_file = OUTPUT-coder.md,
5 out_file_scrubbed = OUTPUT-for-all.md,
6 debug_mode = 0,
7 section_aliases = work.alias_list,
8 section_order = work.order_list,
9 section_headers = work.header_list,
10 sections_scrubbed = work.scrub_list
11);
4 Bloc de code
MACRO CALL
Explication :
Appel de la macro `%convert_markdown_to_html` pour convertir le fichier Markdown généré (`output-for-all.md`) en une page HTML (`output-for-all.htm`).
Copié !
1%convert_markdown_to_html(
2 in_file_md = "&DEMO_ROOT.output-for-all.md",
3 out_file_html = "&DEMO_ROOT.output-for-all.htm",
4 debug_mode = 0
5);
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.