• Stars
    star
    10
  • Rank 1,804,081 (Top 36 %)
  • Language
    Scala
  • License
    Other
  • Created over 13 years ago
  • Updated about 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lift-style CSS selector transforms based on Scalate's Scuery

CSS Selectors

Alternative to Lift's CSS selectors, based on Scalate's Scuery.

There are several motivations for this code:

  • access to a wider range of combinators;
  • access to a wider range of selectors;
  • avoid accidental binding against a list of items.

My intention is shortly to make this library (or its progeny) available as part of Bigtop, Untyped's forthcoming set of extensions to Lift.

Examples

// Wider range of CSS selectors:
$("#nav li span") replace <foo/>    // replace selected nodes with <foo/>

// Lift-style #> operator:
$("#nav li span") #> <foo/>         // replace selected nodes with <foo/>

// Traversal operators:
$(".foo") children ".bar" remove    // remove children of .foo that match the selector .bar

// 'remove' transformer:
$("[deleteme]") remove              // remove nodes with an attr "deleteme"

// Conjunction combinator:
$("#name") replace "Dave" &         // replace with literal NodeSeq
$("#age") replace (in => getAge)    // replace with NodeSeq => NodeSeq function

// Disjunction combinator:
$(".red") remove |                  // remove .red if it exists
$(".green") remove                  // otherwise remove .green

// Conditional combinator:
$(".red") remove ?                  // remove .red if it exists
$(".green") remove !                // if .red was removed, remove .green as well
$(".blue") remove                   // otherwise remove .blue

Getting the code

This code isn't currently hosted on a public repo. However, please feel free to download it and experiment with it and let me know what you think via my Github mailbox.

If you are an SBT user, simply run the following steps:

git clone [email protected]:davegurnell/css-selector.git ./css-selector
cd css-selector
sbt update
sbt publish-local

and you'll be able to import the library into your existing SBT projects:

Group:    bigtop
Artefact: bigtop-css
Version:  0.1-SNAPSHOT

If you'd rather grab your artefacts from a proper repository server, look out for Bigtop, coming soon.

License

This code is published under the Apache 2 license.

More Repositories

1

bridges

Generate bindings for Scala types in other programming languages.
Scala
56
star
2

checklist

Validation library for Scala.
Scala
47
star
3

unindent

Indent-adjusted multiline string literals for Scala.
Shell
47
star
4

bulletin

Automatically perform shallow merges on case classes. Treat your data with the latest updates!
Scala
42
star
5

meowsynth

The mighty meowing synthesizer!
Scala
30
star
6

validation

Scala data validation library
Scala
29
star
7

typelevel-todomvc

Scala
25
star
8

atlas

A tiny embedded scripting language implemented in Scala.
Scala
24
star
9

shapeless-guide

The Type Astronaut's Guide to Shapeless
19
star
10

functional-data-validation

Slides and code samples for a talk on thinking functionally (and validating web forms).
Scala
18
star
11

99-ways-to-di

Slides from my lightning talk on Dependency Injection at Scala Central #5.
14
star
12

tipi

Tiny templating language written in Scala.
Scala
10
star
13

macros-vs-shapeless

Slides and code samples on meta-programming techniques in Scala.
Scala
10
star
14

spandoc

Write Pandoc filters in Scala.
Scala
7
star
15

scalalol-2011-talk

Slides and code samples for talk at Scala Lift-Off London 2011.
Scala
6
star
16

scala-opengl

Simple OpenGL examples using Scala, LWJGL, and sbt-lwjgl
Scala
6
star
17

shapeless-guide-slides

Slides for my Scala World 2016 workshop on shapeless.
6
star
18

smartypants

Simple smart constructor generation for Scala.
Scala
4
star
19

scalax2gether-2017

Workshop and hack proposals for the Scala Exchange Hack Day (ScalaX2gether 2017)
4
star
20

shapeless-sandbox

Scala
3
star
21

scalax-2014

Slides and code samples for my Scala Exchange 2014 talk on Functional Data Validation.
3
star
22

typelevel-philly-2016

3
star
23

sbt-less

Superseded by sbt-less in https://github.com/untyped/sbt-plugins.
Scala
3
star
24

akka-streams-case-study

Scala
2
star
25

poker-case-study

Poker hand comparison in Scala. A fairly advanced "Essential Scala" case study.
Scala
2
star
26

interpreter-case-study

Scala case study about building an interpreter and a simple DSL.
Scala
2
star
27

cats-error-case-study

Scala
2
star
28

bus-driver-case-study

Gossiping Bus Drivers Kata
Scala
2
star
29

concurrency-case-study

Scala
2
star
30

scala-rpg-test

A sandbox project for playing with Scala and the graphics from Browserquest.
Scala
2
star
31

versionit

Grab your Git commit hash as a Scala String.
Scala
2
star
32

advanced-scala-scalax15

Code written at Advanced Scala at Scala Exchange 2015
Scala
1
star
33

spectaskular-iphone

iPhone todo list app
Objective-C
1
star
34

brighton-java-sample-app

Scala talk for Brighton Java
CSS
1
star
35

session-cell

Cookie-based in-memory session storage for the Racket HTTP Server.
Scheme
1
star
36

kitties-case-study

Meow!
Scala
1
star
37

gilded-rose-case-study

Code refactoring kata
Scala
1
star
38

conway-case-study

Scala
1
star
39

mars-rover-case-study

Scala
1
star
40

asyncjs-creative-fp

Creative Functional Programming talk for AsyncJS.
1
star
41

parallel-case-study

Scala
1
star
42

bank-ocr-case-study

Scala
1
star
43

play-json-case-study

Scala
1
star
44

calc-case-study

Scala
1
star
45

bowling-case-study

Scala
1
star
46

paths-case-study

Essential Scala case study: selecting paths from a route finder service
Scala
1
star
47

typeclub

Scala
1
star
48

tagless-case-study

Scala
1
star
49

doodlejs

Javascript port of Doodle
JavaScript
1
star
50

composejs

Javascript port of Compose (https://github.com/underscoreio/compose).
JavaScript
1
star
51

fpinscala

My attempts at the exercises in Functional Programming in Scala.
Scala
1
star
52

shapeless-guide-code

The Type Astronaut's Guide to Shapeless (Example Code)
1
star
53

scaladays-berlin-2016

1
star
54

property-based-testing-workshop

Scala
1
star
55

advanced-scala-exercises

Scala
1
star
56

advanced-scala

The old source code repository for Scala with Cats
1
star
57

cats-effect-sandbox

An empty SBT project with dependencies on Cats and Cats Effect.
Scala
1
star
58

away-with-the-types

Scala
1
star