blob: 724e6568dbe6297a27161c66c0430a7bed5f306e (plain
scruf is a simple program that converts marked up files to
corresponding valid HTML5 files.
The markup that is understood by scruf is called the "scruffy"
markup. To learn about the scruffy markup look at
To get the up to date information about scruf, visit its homepage.
scruf is free software and it is licensed under the GNU General
Public License version 3 or later.
The COPYING file contains the full text of the GNU General Public
License version 3.
The style sheet, style.css, in styling/ is dedicated to the public
At present scruf can be used in GNU/Linux based operating
systems. Since scruf is written in Java, it might work on other
platforms like Windows, Mac, etc.
scruf was not test in platforms other than GNU/Linux, so it might not
work as it should in platforms other than GNU/Linux, even if it
To compile and run scruf, the OpenJDK is need. Instructions are
provided in manual/scruf-howto.html on how to install the JDK.
The source has to be compiled with the `javac' command, with that, the
installation is done. For instruction on compiling the scruf source,
Overview of the scruf source
This section is for folks who wish to read/explore/hack/study/etc the
* Run.java : This is entry point for scruf. It contains the `main'
function starts the nuts & bolts of scruf.
* parser/ : This directory contains all the `Parsers' and
The 'Parser' interface is defined in Parser.java and all parsers
implement this interface.
The functionality of a Parser is to convert a specific scruffy
markup into corresponding HTML5 element. For instance, the `Link'
parser converts scruffy marked up links into corresponding HTML5
links; The `CodeBlocks' parsers looks for code blocks in the marked up
file and converts the block into a HTML5 code block.
`ParserList' class contains a list of all parsers that is used to
convert a scruffy markup file to valid HTML5.
* conversion/ : Contains classes responsible for traversing
directories looking for scruffy marked up files & feeding the marked
up files to a list of parsers to convert into HTML5
`ConvertDirectory' class recursively traverses a directories & when
it finds a scruffy marked up file, it gives it to the `ConvertFile'
class to perform HTML5 conversion.
`ConvertFile' gets a scruffy marked up file and feeds the file to a
list of parsers to convert to HTML5 and writes the converted HTML5
file to the disk.
+ ignore/ : This directory contains a class which help identify
sub-directories that are to be ignored.
* index/ : Contains the `IndexCreator' class which adds links to newly
converted HTML5 files to the directory's `index.scruffy' file
`index.scruffy' is created in directories that have scruffy marked
up files and it contains a list of links to all the HTML5 files
converted by scruf.
* io/ : Contains classes for reading/writing files.
* status/ : Contains the `PresentFile' class which has the details
about the marked up file that is being converted to HTML5.
The `DirectoryInfo' class has the `level' of the directory being
traversed with respect to the `root' directory.
The `root' directory is the top level directory given by the user to
perform HTML5 conversion.
* styling/ : This directory contains the StyleChecker class which
makes sure that every directory, that has a scruffy marked up file,
contains a dedicated style sheet -- style.css.
The style.css is the default style sheet used by scruf.
* docs/ directory: Contains documentation on how to install and use
All public discussion regarding the scruf project happens in the
scruf-friends mailing list.
If you want help or have issues using scruf or wish to contribute to
the scruf project or desire to give vent to your thoughts about scruf,
the scruf-friends list is the right place.
Report a Bug
Found scruf has gone bonkers or it is not working the way it has to?
Just file a bug report about it. Please also provide your contact
information if it is required.
scruf is authored & maintained by rsiddharth