Section courante

A propos

Section administrative du site

Contexte Sass

Les contextes Sass existent en deux versions :

Utilisation de base

  1. #include "sass/context.h"

Sass_Options

  1. // Précision pour les nombres fractionnaires
  2. int precision;
  3.  
  4. // Style de sortie pour le code CSS généré. Une valeur des constantes SASS_STYLE_* ci-dessus.
  5. int output_style;
  6.  
  7. // Émettre des commentaires dans le CSS généré indiquant la ligne source correspondante.
  8. bool source_comments;
  9.  
  10. // intégrer sourceMappingUrl comme URI de données
  11. bool source_map_embed;
  12.  
  13. // incorporer le contenu inclus dans les cartes
  14. bool source_map_contents;
  15.  
  16. // créer des URL de fichiers pour les sources
  17. bool source_map_file_urls;
  18.  
  19. // Désactiver sourceMappingUrl dans la sortie CSS
  20. bool omit_source_map_url;
  21.  
  22. // Traitez source_string comme sass (par opposition à scss)
  23. bool is_indented_syntax_src;
  24.  
  25. // Le chemin d'entrée est utilisé pour la génération de la carte source. Il peut être utilisé pour définir quelque chose avec 
  26. // la compilation de chaînes ou pour surcharger le chemin du fichier d'entrée. Il est défini sur « stdin » pour les contextes 
  27. // de données et sur le fichier d'entrée pour les contextes de fichiers.
  28. char* input_path;
  29.  
  30. // Le chemin de sortie est utilisé pour la génération de la carte source. 
  31. // LibSass n'écrira pas dans ce fichier, il est simplement utilisé pour créer des informations dans les cartes source,...
  32. char* output_path;
  33.  
  34. // Chaîne de caractères à utiliser pour l'indentation
  35. const char* indent;
  36.  
  37. // Chaîne de caractères à utiliser pour les sauts de ligne
  38. const char* linefeed;
  39.  
  40. // Liste de chemins séparés par des deux-points
  41. // Séparés par des points-virgules sous Windows
  42. char* include_path;
  43. char* plugin_path;
  44.  
  45. // Chemins d'inclusion supplémentaires
  46. // Doivent être délimités par des valeurs nulles
  47. char** include_paths;
  48. char** plugin_paths;
  49.  
  50. // Chemin d'accès au fichier source map
  51. // Active la génération de la carte source
  52. // Utilisé pour créer l'URL sourceMappingUrl
  53. char* source_map_file;
  54.  
  55. // Directement inséré dans les cartes sources
  56. char* source_map_root;
  57.  
  58. // Fonctions personnalisées pouvant être appelées à partir du code Sass
  59. Sass_C_Function_List c_functions;
  60.  
  61. // Rappel pour surcharger les importations
  62. Sass_C_Import_Callback importer;

Sass_Context

  1. // entreposer les informations sur le type de contexte
  2. enum Sass_Input_Style type;
  3.  
  4. // données de sortie générées
  5. char* output_string;
  6.  
  7. // carte source json générée
  8. char* source_map_string;
  9.  
  10. // état d'erreur
  11. int error_status;
  12. char* error_json;
  13. char* error_text;
  14. char* error_message;
  15. // position d'erreur
  16. char* error_file;
  17. size_t error_line;
  18. size_t error_column;
  19. char* error_src;
  20.  
  21. // signaler les fichiers importés
  22. char** included_files;

Sass_File_Context

  1. // aucun champ supplémentaire requis
  2. // input_path est déjà activé

Sass_Data_Context

  1. // chaîne de caractères source fournie
  2. char* source_string;

API de contexte Sass

  1. // Déclaration anticipée
  2. struct Sass_Compiler;
  3.  
  4. // Déclaration anticipée
  5. struct Sass_Options;
  6. struct Sass_Context; // : Sass_Options
  7. struct Sass_File_Context; // : Sass_Context
  8. struct Sass_Data_Context; // : Sass_Context
  9.  
  10. // Créer et initialiser une structure d'options
  11. struct Sass_Options* sass_make_options (void);
  12. // Créer et initialiser un contexte spécifique
  13. struct Sass_File_Context* sass_make_file_context (const char* input_path);
  14. struct Sass_Data_Context* sass_make_data_context (char* source_string);
  15.  
  16. // Appeler l'étape de compilation pour le contexte spécifique
  17. int sass_compile_file_context (struct Sass_File_Context* ctx);
  18. int sass_compile_data_context (struct Sass_Data_Context* ctx);
  19.  
  20. // Créez une instance de compilateur sass pour plus de contrôle
  21. struct Sass_Compiler* sass_make_file_compiler (struct Sass_File_Context* file_ctx);
  22. struct Sass_Compiler* sass_make_data_compiler (struct Sass_Data_Context* data_ctx);
  23.  
  24. // Exécuter les différentes étapes de compilation individuellement
  25. // Utile si vous souhaitez interroger uniquement les fichiers inclus
  26. int sass_compiler_parse (struct Sass_Compiler* compiler);
  27. int sass_compiler_execute (struct Sass_Compiler* compiler);
  28.  
  29. // Libérer toute la mémoire allouée avec le compilateur
  30. // Ceci n'inclut _not_ de contextes ou d'options
  31. void sass_delete_compiler (struct Sass_Compiler* compiler);
  32. void sass_delete_options(struct Sass_Options* options);
  33.  
  34. // Libérer toute la mémoire allouée et nous-mêmes
  35. void sass_delete_file_context (struct Sass_File_Context* ctx);
  36. void sass_delete_data_context (struct Sass_Data_Context* ctx);
  37.  
  38. // Getters pour le contexte d'une implémentation spécifique
  39. struct Sass_Context* sass_file_context_get_context (struct Sass_File_Context* file_ctx);
  40. struct Sass_Context* sass_data_context_get_context (struct Sass_Data_Context* data_ctx);
  41.  
  42. // Getters pour Context_Options de Sass_Context
  43. struct Sass_Options* sass_context_get_options (struct Sass_Context* ctx);
  44. struct Sass_Options* sass_file_context_get_options (struct Sass_File_Context* file_ctx);
  45. struct Sass_Options* sass_data_context_get_options (struct Sass_Data_Context* data_ctx);
  46. void sass_file_context_set_options (struct Sass_File_Context* file_ctx, struct Sass_Options* opt);
  47. void sass_data_context_set_options (struct Sass_Data_Context* data_ctx, struct Sass_Options* opt);
  48.  
  49. // Getters pour les valeurs Sass_Context
  50. const char* sass_context_get_output_string (struct Sass_Context* ctx);
  51. int sass_context_get_error_status (struct Sass_Context* ctx);
  52. const char* sass_context_get_error_json (struct Sass_Context* ctx);
  53. const char* sass_context_get_error_text (struct Sass_Context* ctx);
  54. const char* sass_context_get_error_message (struct Sass_Context* ctx);
  55. const char* sass_context_get_error_file (struct Sass_Context* ctx);
  56. const char* sass_context_get_error_src (struct Sass_Context* ctx);
  57. size_t sass_context_get_error_line (struct Sass_Context* ctx);
  58. size_t sass_context_get_error_column (struct Sass_Context* ctx);
  59. const char* sass_context_get_source_map_string (struct Sass_Context* ctx);
  60. char** sass_context_get_included_files (struct Sass_Context* ctx);
  61.  
  62. // Getters pour les options Sass_Compiler (pile d'importation de requêtes)
  63. size_t sass_compiler_get_import_stack_size(struct Sass_Compiler* compiler);
  64. Sass_Import_Entry sass_compiler_get_last_import(struct Sass_Compiler* compiler);
  65. Sass_Import_Entry sass_compiler_get_import_entry(struct Sass_Compiler* compiler, size_t idx);
  66. // Getters for Sass_Compiler options (query function stack)
  67. size_t sass_compiler_get_callee_stack_size(struct Sass_Compiler* compiler);
  68. Sass_Callee_Entry sass_compiler_get_last_callee(struct Sass_Compiler* compiler);
  69. Sass_Callee_Entry sass_compiler_get_callee_entry(struct Sass_Compiler* compiler, size_t idx);
  70.  
  71. // Prendre possession de la mémoire (la valeur du contexte est définie sur 0)
  72. char* sass_context_take_error_json (struct Sass_Context* ctx);
  73. char* sass_context_take_error_text (struct Sass_Context* ctx);
  74. char* sass_context_take_error_message (struct Sass_Context* ctx);
  75. char* sass_context_take_error_file (struct Sass_Context* ctx);
  76. char* sass_context_take_error_src (struct Sass_Context* ctx);
  77. char* sass_context_take_output_string (struct Sass_Context* ctx);
  78. char* sass_context_take_source_map_string (struct Sass_Context* ctx);

API d'options Sass

  1. // Getters pour les valeurs Context_Option
  2. int sass_option_get_precision (struct Sass_Options* options);
  3. enum Sass_Output_Style sass_option_get_output_style (struct Sass_Options* options);
  4. bool sass_option_get_source_comments (struct Sass_Options* options);
  5. bool sass_option_get_source_map_embed (struct Sass_Options* options);
  6. bool sass_option_get_source_map_contents (struct Sass_Options* options);
  7. bool sass_option_get_source_map_file_urls (struct Sass_Options* options);
  8. bool sass_option_get_omit_source_map_url (struct Sass_Options* options);
  9. bool sass_option_get_is_indented_syntax_src (struct Sass_Options* options);
  10. const char* sass_option_get_indent (struct Sass_Options* options);
  11. const char* sass_option_get_linefeed (struct Sass_Options* options);
  12. const char* sass_option_get_input_path (struct Sass_Options* options);
  13. const char* sass_option_get_output_path (struct Sass_Options* options);
  14. const char* sass_option_get_source_map_file (struct Sass_Options* options);
  15. const char* sass_option_get_source_map_root (struct Sass_Options* options);
  16. Sass_C_Function_List sass_option_get_c_functions (struct Sass_Options* options);
  17. Sass_C_Import_Callback sass_option_get_importer (struct Sass_Options* options);
  18.  
  19. // Les getters pour Context_Option incluent un tableau de chemins
  20. size_t sass_option_get_include_path_size(struct Sass_Options* options);
  21. const char* sass_option_get_include_path(struct Sass_Options* options, size_t i);
  22. // Les chemins des plugins pour charger les bibliothèques dynamiques fonctionnent de la même manière
  23. size_t sass_option_get_plugin_path_size(struct Sass_Options* options);
  24. const char* sass_option_get_plugin_path(struct Sass_Options* options, size_t i);
  25.  
  26. // Setters pour les valeurs Context_Option
  27. void sass_option_set_precision (struct Sass_Options* options, int precision);
  28. void sass_option_set_output_style (struct Sass_Options* options, enum Sass_Output_Style output_style);
  29. void sass_option_set_source_comments (struct Sass_Options* options, bool source_comments);
  30. void sass_option_set_source_map_embed (struct Sass_Options* options, bool source_map_embed);
  31. void sass_option_set_source_map_contents (struct Sass_Options* options, bool source_map_contents);
  32. void sass_option_set_source_map_file_urls (struct Sass_Options* options, bool source_map_file_urls);
  33. void sass_option_set_omit_source_map_url (struct Sass_Options* options, bool omit_source_map_url);
  34. void sass_option_set_is_indented_syntax_src (struct Sass_Options* options, bool is_indented_syntax_src);
  35. void sass_option_set_indent (struct Sass_Options* options, const char* indent);
  36. void sass_option_set_linefeed (struct Sass_Options* options, const char* linefeed);
  37. void sass_option_set_input_path (struct Sass_Options* options, const char* input_path);
  38. void sass_option_set_output_path (struct Sass_Options* options, const char* output_path);
  39. void sass_option_set_plugin_path (struct Sass_Options* options, const char* plugin_path);
  40. void sass_option_set_include_path (struct Sass_Options* options, const char* include_path);
  41. void sass_option_set_source_map_file (struct Sass_Options* options, const char* source_map_file);
  42. void sass_option_set_source_map_root (struct Sass_Options* options, const char* source_map_root);
  43. void sass_option_set_c_functions (struct Sass_Options* options, Sass_C_Function_List c_functions);
  44. void sass_option_set_importer (struct Sass_Options* options, Sass_C_Import_Callback importer);
  45.  
  46. // Fonction push pour les chemins (pas de support de manipulation pour le moment)
  47. void sass_option_push_plugin_path (struct Sass_Options* options, const char* path);
  48. void sass_option_push_include_path (struct Sass_Options* options, const char* path);
  49.  
  50. // Résout un fichier via les chemins d'inclusion indiqués dans la structure d'options Sass
  51. // find_file recherche le nom exact du fichier, tandis que find_include effectue une inclusion Sass classique
  52. char* sass_find_file (const char* path, struct Sass_Options* opt);
  53. char* sass_find_include (const char* path, struct Sass_Options* opt);
  54.  
  55. // Résout un fichier par rapport à la dernière importation ou inclut les chemins dans la structure d'options Sass
  56. // find_file recherche le nom exact du fichier, tandis que find_include effectue une inclusion Sass classique
  57. char* sass_compiler_find_file (const char* path, struct Sass_Compiler* compiler);
  58. char* sass_compiler_find_include (const char* path, struct Sass_Compiler* compiler);

Autres liens



Dernière mise à jour : Mardi, le 8 octobre 2024