Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dckc/uniform-css-validator

an exploration into uniform CSS grammar and Scala
https://github.com/dckc/uniform-css-validator

Last synced: 8 days ago
JSON representation

an exploration into uniform CSS grammar and Scala

Awesome Lists containing this project

README

        

=====================
Uniform CSS Validator
=====================

:Author: `Dan Connolly`__, W3C__

__ http://www.w3.org/People/Connolly/
__ http://www.w3.org/

CSS syntax evolves in a backward- and forward-compatible way; the CSS
2.1 specification__ includes a uniform grammar, applicable to all CSS
versions. The `original (2002) W3C CSS Validator`__ predates this
uniform grammar and maintenance is becoming an undue burden as a
result. This is an attempt to build a validator using the uniform
syntax.

__ http://www.w3.org/TR/CSS2
__ http://jigsaw.w3.org/css-validator/about.html#code

This is also something of an exercise in learning Scala development.
Provided you have some popular tools installed (see `Scala
development`_ below for details), you should be able to confirm that
all tests pass::

cssval$ sbt test
...
[info] Run: 26, Passed: 26, Errors: 0, Failed: 0
...

.. contents::

Scala development
-----------------

Scala is a general purpose programming language designed to
express common programming patterns in a concise, elegant, and
type-safe way.

-- `Introducing Scala`__

__ http://www.scala-lang.org/node/25

The compiler and such are open source and easy to find
from the `Scala Programming Language`__ site.

__ http://www.scala-lang.org/

For audit trail purposes, the md5 checksum of the package I
downloaded is::

82934acf64d0c026de78b84e984f6743 scala-2.7.6.final.tgz

Once you download and unpack that, you should be able to see that
interpreter and compiler work as per `Getting Started with Scala`__.

__ http://www.scala-lang.org/node/166

Simple Build Tool (sbt)
***********************

The Scala tribe seems to use sbt__ in place of make or ant.

__ http://code.google.com/p/simple-build-tool/

Audit trail::

MD5 (sbt-launcher-0.5.5.jar) = e3593448b3be17ce1666c6241b8d2f90

The directory layout of this project follows `sbt/maven conventions`__::

src/
main/
resources/

scala/

java/

test/
resources

scala/

java/

__ http://code.google.com/p/simple-build-tool/wiki/Setup

Using `library management`__ is in progress, thanks to contributions
from Alexandre Bertails.

__ http://code.google.com/p/simple-build-tool/wiki/LibraryManagement

ScalaTest
*********

ScalaTest__ is a leading test framework for Scala.

__ http://www.scalatest.org/download

Audit trail::

68ab03f9109ef18c9dcce048da3d8dab scalatest-0.9.5.zip

I unpacked it and put scala-test-1.0.jar in ``lib``... or was it
``project/boot/scala-2.7.6/lib``.

There seem to be some version skew issues between sbt and ScalaTest.
For a work-around (that I have not yet tried), see:
`ScalaTest 1.0`__.

__ http://groups.google.com/group/simple-build-tool/browse_thread/thread/fb967ee255dff7f9/8efd9870026481cb?lnk=gst&q=ScalaTest+1.0#8efd9870026481cb

Emacs and Scala
***************

With ``scala-mode``, emacs helps with indentation and syntax coloring.
With ``sbt.el``, emacs can navigate compiler errors (with some
glitches). My set-up is pretty rough; some notes::

;;;
; http://www.scala-lang.org/downloads
(add-to-list 'load-path "/home/connolly/src/scala-2.7.6.final/misc/scala-tool-support/emacs")
(add-to-list 'exec-path "/home/connolly/src/scala-2.7.6.final/bin")
(add-to-list 'exec-path "/home/connolly/bin")
(require 'scala-mode-auto)

http://code.google.com/p/simple-build-tool/wiki/IntegrationSupport
scallap / tools / emacs / sbt.el
commit 000e748597d9b73e2da026029afc4ca9248aa936

Source code and Version Control
-------------------------------

To access the source code and project history using git__::

$ git clone git://dvcs.w3.org/cssval

__ http://git-scm.com/

Or you can use mercurial with the `Hg-Git plugin`__::

$ hg clone git://dvcs.w3.org/cssval

__ http://hg-git.github.com/

This project started Oct 11 2009, with mercurial revision
0:4ac7bd6d32f2, aka git commit
c6cdd1c783f30989c94b00844b1a739e88857366.

Thanks to bitbucket__ for hosting the project in early stages; the
cssval__ repository there may or may not be maintained.

__ http://bitbucket.org/
__ http://bitbucket.org/DanC/cssval/

Likewise, an experimental github mirror, Uniform-CSS-Validator__,
may or may not be maintained.

__ http://github.com/dckc/Uniform-CSS-Validator

Open Source Software License
----------------------------

Copyright (c) 2009 World Wide Web Consortium, (Massachusetts
Institute of Technology, European Research Consortium for Informatics
and Mathematics, Keio University). All Rights Reserved. This work is
distributed under the `W3C Software License`__ in the hope that it
will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

__ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231

Share and enjoy.

This license has an Open Source Initiative certification__
and is a `GPL-Compatible Free Software License`__.

__ http://www.opensource.org/licenses/W3C.php
__ http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses

.. Colophon:
.. This document is written using reStructuredText conventions.
.. see Makefile for conversion to README.html .
.. see http://docutils.sourceforge.net/rst.html for more on reStructuredText.