hsass-0.4.0: Integrating Sass into Haskell applications.

Safe HaskellNone
LanguageHaskell2010

Text.Sass.Functions

Contents

Description

Provides support for user-defined functions, importers and headers.

Synopsis

Functions

type SassFunctionType Source

Arguments

 = SassValue

Arguments of the function (SassList).

-> IO SassValue

Result of the computation.

Type of the function that may be used in sass source.

data SassFunction Source

Description of the function that may be used in sass source.

Constructors

SassFunction 

Fields

funcSignature :: String

Signature of the function, parsable by libsass.

funcComputation :: SassFunctionType

Main function.

Imports and headers

data SassImport Source

Represents a sass import - a sass content with additional metadata.

Even though this ADT has four fields, you may just provide either importPath and importBase and leave loading to the library, or provide importSource and do not provide importPath nor importBase. Nevertheless, you are free to provide all of the fields.

Constructors

SassImport 

Fields

importPath :: Maybe FilePath

Path to the import, relative to base.

importBase :: Maybe FilePath

Base path.

importSource :: Maybe String

Import's source.

importSourceMap :: Maybe String

Source map of the import.

type SassImporterType Source

Arguments

 = String

Path to the import that needs to be loaded or file that is being processed when used as a header.

-> IO [SassImport]

Imports.

Type of the function that acts like importer/header.

You may return empty list in order to tell libsass to handle the import by itself or not insert any header.

data SassImporter Source

Description of the importer.

Constructors

SassImporter 

Fields

importerPriority :: Double

Priority of the importer.

importerFunction :: SassImporterType

Main function.

makeSourceImport :: String -> SassImport Source

makeSourceImport s is equivalent to SassImport Nothing Nothing (Just s) Nothing.

makePathImport :: String -> String -> SassImport Source

makePathImport p b is equivalent to SassImport (Just p) (Just b) Nothing Nothing.