All Projects → mickleroy → aem-sass-compiler

mickleroy / aem-sass-compiler

Licence: other
Enable Sass support for AEM

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to aem-sass-compiler

Aem Groovy Console
The AEM Groovy Console provides an interface for running Groovy scripts in the AEM container. Scripts can be created to manipulate content in the JCR, call OSGi services, or execute arbitrary code using the CQ, Sling, or JCR APIs.
Stars: ✭ 144 (+200%)
Mutual labels:  aem
burp-aem-scanner
Burp Scanner extension to fingerprint and actively scan instances of the Adobe Experience Manager CMS. It checks the website for common misconfigurations and security holes.
Stars: ✭ 60 (+25%)
Mutual labels:  aem
wcm-io-wcm
Extensions for AEM authoring and AEM applications.
Stars: ✭ 17 (-64.58%)
Mutual labels:  aem
Acs Aem Samples
AEM Code Samples repository
Stars: ✭ 170 (+254.17%)
Mutual labels:  aem
cookbook-cq
Chef cookbook for Adobe CQ (aka AEM)
Stars: ✭ 20 (-58.33%)
Mutual labels:  aem
aem-touch-ui-validation
AEM Touch UI Validation Library
Stars: ✭ 40 (-16.67%)
Mutual labels:  aem
Aem Sample We Retail
🚫 We.Retail has been archived, see instead the WKND Guide:
Stars: ✭ 121 (+152.08%)
Mutual labels:  aem
aem-spa-page-model-manager
Interface between Adobe Experience Manager and Single Page Application framework.
Stars: ✭ 26 (-45.83%)
Mutual labels:  aem
aem-react-editable-components
SPA React Editable Components for Adobe Experience Manager
Stars: ✭ 43 (-10.42%)
Mutual labels:  aem
aem-akamai-replication-agent
How to create custom replication agents in AEM using Akamai as an example.
Stars: ✭ 33 (-31.25%)
Mutual labels:  aem
Htl Spec
HTML Template Language Specification
Stars: ✭ 213 (+343.75%)
Mutual labels:  aem
aemscan
Adobe Experience Manager Vulnerability Scanner
Stars: ✭ 161 (+235.42%)
Mutual labels:  aem
aem-easy-content-upgrade
AEM Easy Content Upgrade simplifies content migrations in AEM projects
Stars: ✭ 52 (+8.33%)
Mutual labels:  aem
Gradle Aem Plugin
Swiss army knife for Adobe Experience Manager related automation. Environment setup & incremental AEM application build which takes seconds, not minutes.
Stars: ✭ 145 (+202.08%)
Mutual labels:  aem
aem-intellij-plugin
IntelliJ Platform plugin for AEM (Adobe Experience Manager).
Stars: ✭ 26 (-45.83%)
Mutual labels:  aem
Aem React
⚛ AEM templates and components based on React for server and client side. Provides a demo content package and core osgi bundle.
Stars: ✭ 142 (+195.83%)
Mutual labels:  aem
jstackSeries.sh
Script for capturing a series of thread dumps from a Java process using jstack (on Linux and Windows)
Stars: ✭ 28 (-41.67%)
Mutual labels:  aem
etoolbox-authoring-kit
Offers a set of tools that create Granite UI authoring interfaces for Adobe Experience Manager components from Java code. This is a comprehensive solution that makes different widgets work in a coordinated manner, provides greater interactivity in AEM dialogs, and introduces additional features (customizable data lists, options selection, etc.)
Stars: ✭ 93 (+93.75%)
Mutual labels:  aem
elasticsearch-aem
Example Implementation to integrate ElasticSearch in AEM
Stars: ✭ 13 (-72.92%)
Mutual labels:  aem
commerce-cif-connector
AEM Commerce connector for Magento and GraphQL
Stars: ✭ 42 (-12.5%)
Mutual labels:  aem

Sass Compiler for AEM 6.1+

Build Status

This bundle provides support for the Sass CSS pre-processor in Adobe Experience Manager 6.1 or above.

Features

Supports all the latest features of Sass:

  • Variables
  • Nesting
  • Partials
  • Imports
  • Mixins
  • Inheritance
  • Operators

Examples of supported @import directives:

@import 'file';
@import 'file.scss';
@import 'partials/file';
@import 'partials/file.scss';
@import 'file1', 'file2';
@import '/etc/designs/aem-sass-compiler/clientlib/file';
@import '/etc/designs/aem-sass-compiler/clientlib/file.scss';

If any one of the conditions below are met, the @import will be skipped and compiled to a CSS @import:

  • The file’s extension is .css
  • The filename begins with http://
  • The filename is a url()
  • The @import has any media queries

Supported AEM versions

AEM Sass Compiler
6.3 1.0.x
6.2 1.0.x
6.1 (SP2 only) 0.9.x

Installation

Via Maven (preferred)

  • Add the following dependency to your POM:
<dependency>
    <groupId>com.github.mickleroy</groupId>
    <artifactId>aem-sass-compiler</artifactId>
    <version>1.0.1</version>
</dependency>

Note: replace "1.0.1" with the latest version of the compiler.

  • In your content-package-maven-plugin configuration, add an embedded entry for the compiler:
<plugin>
    <groupId>com.day.jcr.vault</groupId>
    <artifactId>content-package-maven-plugin</artifactId>
    <extensions>true</extensions>
    <configuration>
        <embeddeds>
            <embedded>
                <groupId>com.github.mickleroy</groupId>
                <artifactId>aem-sass-compiler</artifactId>
                <target>/apps/my-aem-project/install</target>
            </embedded>
        </embeddeds>
        <!-- other entries... -->
    </configuration>
</plugin>

Note: replace "/apps/my-aem-project/install" with your own project path.

Via Web Console

Install the provided OSGi bundle (.jar) in the latest release via the Web Console.

Usage

  • Start writing .scss files just like you would write .less files within AEM.
/etc/designs/clientlibs
├── css.txt
├── main.scss
└── partials
    └── _base.scss

The css.txt file should only reference your main Sass file:

#base=.
main.scss

Bundle Install Log

The following log entries should be visible when installing the bundle:

*INFO* [...] com.adobe.granite.ui.clientlibs.impl.CompilerProviderImpl Registering client library compiler scss
*INFO* [...] com.github.mickleroy.aem.sass.impl.SassCompilerImpl Activating Sass Compiler

Sass Compilation Log

Similar log entries should be visible when compiling a .scss file:

*INFO* [...] com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl Start building CSS library: /etc/designs/aem-sass-compiler/clientlib
*INFO* [...] com.github.mickleroy.aem.sass.impl.SassCompilerImpl Compiled Sass in 97ms
*INFO* [...] com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl finished building library /etc/designs/aem-sass-compiler/clientlib.css

Implementation Details

Currently support LibSass version 3.4.3.

LibSass is a C/C++ port of the original engine written in Ruby. More info at https://github.com/sass/libsass

jsass is a feature complete Java wrapper of LibSass (requires Java 8). More info at https://github.com/bit3/jsass

Release

Create a release branch off the master branch

git branch release/X.X.X

Prepare the release (use vX.X.X for the tag)

mvn release:prepare -DpushChanges=false

Push the changes to the repository

git push origin

Checkout the newly created tag and build the project

git checkout tags/vX.X.X
mvn clean package

Attach the jar to the release on Github and merge back to master.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].