Exemple de code pour le contexte Sass
Exemple pour data_context :
- #include <stdio.h>
- #include "sass/context.h"
-
- int main( int argc, const char* argv[] ) {
-
- // LibSass prendra le contrôle des données que vous transmettez.
- // Nous devons donc faire une copie des données statiques.
-
- char* text = sass_copy_c_string("a{b:c;}");
- // Normalement, vous chargez les données dans un tampon, par exemple à partir du disque.
- // Utilisez `sass_alloc_memory` pour obtenir un tampon à transmettre à LibSass
- // puis remplissez-le avec les données que vous chargez depuis le disque ou ailleurs.
-
- // créer le contexte de données et obtenir toutes les structures associées
- struct Sass_Data_Context* data_ctx = sass_make_data_context(text);
- struct Sass_Context* ctx = sass_data_context_get_context(data_ctx);
- struct Sass_Options* ctx_opt = sass_context_get_options(ctx);
-
- // configurer certaines options ...
- sass_option_set_precision(ctx_opt, 10);
-
- // le contexte est configuré, appelez l'étape de compilation maintenant
- int status = sass_compile_data_context(data_ctx);
-
- // afficher le résultat ou l'erreur sur la sortie standard
- if (status == 0) puts(sass_context_get_output_string(ctx));
- else puts(sass_context_get_error_message(ctx));
-
- // libérer la mémoire allouée
- sass_delete_data_context(data_ctx);
-
- // état de sortie
- return status;
- }
Compiler data.c :
gcc -c data.c -o data.o gcc -o sample data.o -lsass echo "foo { margin: 21px * 2; }" > foo.scss ./sample foo.scss => "foo { margin: 42px }" |
Exemple pour file_context :
- #include <stdio.h>
- #include "sass/context.h"
-
- int main( int argc, const char* argv[] ) {
-
- // récupérer le fichier d'entrée à partir du premier paramètre ou utiliser la valeur par défaut
- const char* input = argc > 1 ? argv[1] : "styles.scss";
-
- // créer le contexte du fichier et obtenir toutes les structures associées
- struct Sass_File_Context* file_ctx = sass_make_file_context(input);
- struct Sass_Context* ctx = sass_file_context_get_context(file_ctx);
- struct Sass_Options* ctx_opt = sass_context_get_options(ctx);
-
- // configurer certaines options ...
- sass_option_set_precision(ctx_opt, 10);
-
- // le contexte est configuré, appelez l'étape de compilation maintenant
- int status = sass_compile_file_context(file_ctx);
-
- // afficher le résultat ou l'erreur sur la sortie standard
- if (status == 0) puts(sass_context_get_output_string(ctx));
- else puts(sass_context_get_error_message(ctx));
-
- // libérer la mémoire allouée
- sass_delete_file_context(file_ctx);
-
- // État de sortie
- return status;
- }
Compiler le fichier .c :
gcc -c file.c -o file.o gcc -o sample file.o -lsass echo "foo { margin: 21px * 2; }" > foo.scss ./sample foo.scss => "foo { margin: 42px }" |
Dernière mise à jour : Mardi, le 8 octobre 2024