Skip to content

m2osw/csspp

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
dev
 
 
doc
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mk
 
 

csspp

CSS Preprocessor

The CSS language is actually pretty flat and rather cumbersome to maintain. Many preprocessors have been created, but none in modern C++ supporting CSS 3 and the preliminary CSS 4 languages. CSS Preprocessor offers that functionality as a command line tool and a C++ library.

The main features of CSS Preprocessor are:

  • Nested rules
  • Nested fields
  • Variables
  • User defined functions
  • @mixin to create advanced / complex variables and functions
  • Conditional compilation
  • Strong validation of your CSS code (rules, field names, field data)
  • Minify or beautify CSS code

Dependencies

The CMakeLists.txt file depends on the snapCMakeModules.

The csspp command line tool makes use of the advgetopt C++ library to handle the command line argument.

The library requires at least C++14 (it may still work on C++11).

To generate the documentation, you will need to have Doxygen. That should not be required (if you have problems with that, let me know.) If you get Doxygen, having the dot tool is a good idea to get all the graphs generated.

Compile the library and csspp command line tool

The INSTALL.md in the root directory tells you how to generate the distribution directory (or dev/INSTALL.md in the standalone csspp project).

We will be looking at making this simpler with time... for now, the environment is a bit convoluted.

Documentation

The documentation is available online. A copy can be downloaded from SourceForge.net.

Bugs

Submit bug reports and patches on github.

This file is part of the snapcpp project.