diff options
author | rsiddharth <rsiddharth@ninthfloor.org> | 2012-12-26 21:31:18 +0530 |
---|---|---|
committer | rsiddharth <rsiddharth@ninthfloor.org> | 2012-12-26 21:31:18 +0530 |
commit | 54e4ec0cc7f0b58e747729a0c5260044ca4c370f (patch) | |
tree | 0f0396ca8af98ba777caae546231aeb96bb55c4d | |
parent | 7f46c19441f6690bde92c1359c535321cb8c3025 (diff) | |
parent | 2707017336aa14d20e9c8e4261a83598d7c03662 (diff) |
merged from devel branch. this is going to labelled version 0.1.0.
removed:
TODO
docs/scruf
added:
README
docs/scruf-howto.html
docs/scruffy-markup.html
docs/style.css
etc/
etc/TODO
etc/scruf-art
modified:
conversion/ConvertDirectory.java
parsers/Footer.java
-rw-r--r-- | README | 146 | ||||
-rw-r--r-- | conversion/ConvertDirectory.java | 13 | ||||
-rw-r--r-- | docs/scruf | 88 | ||||
-rw-r--r-- | docs/scruf-howto.html | 258 | ||||
-rw-r--r-- | docs/scruffy-markup.html | 298 | ||||
-rw-r--r-- | docs/style.css | 180 | ||||
-rw-r--r-- | etc/TODO (renamed from TODO) | 41 | ||||
-rw-r--r-- | etc/scruf-art | 18 | ||||
-rw-r--r-- | parsers/Footer.java | 2 |
9 files changed, 920 insertions, 124 deletions
@@ -0,0 +1,146 @@ +scruf +===== + +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 +manual/scruffy-markup.html file. + +To get the up to date information about scruf, visit its homepage[1]. + +[1]: http://nongnu.org/scruf/ + +License +======= + +scruf is free software[2] 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. + +[2]: http://www.gnu.org/philosophy/free-sw.html + +The style sheet, style.css, in styling/ is dedicated to the public +domain. + +Platform +======== + +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 +compiles successfully. + +Dependencies +============ + +To compile and run scruf, the OpenJDK[3] is need. Instructions are +provided in manual/scruf-howto.html on how to install the JDK. + +[3]: http://openjdk.java.net + +Installation +============ + +The source has to be compiled with the `javac' command, with that, the +installation is done. For instruction on compiling the scruf source, +see manual/scruf-howto.html. + +Overview of the scruf source +============================ + +This section is for folks who wish to read/explore/hack/study/etc the +source code. + +* 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 + related classes. + + 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 + scruf. + +Mailing List +============ + +All public discussion regarding the scruf project happens in the +scruf-friends[4] 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[4] list is the right place. + +[4]: https://lists.nongnu.org/mailman/listinfo/scruf-friends + +Report a Bug +============ + +Found scruf has gone bonkers or it is not working the way it has to? +Just file a bug report[5] about it. Please also provide your contact +information if it is required. + +[5]: http://savannah.nongnu.org/bugs/?group=scruf&func=additem + +Author +====== + +scruf is authored & maintained by rsiddharth +<rsiddharth@ninthfloor.org>.
\ No newline at end of file diff --git a/conversion/ConvertDirectory.java b/conversion/ConvertDirectory.java index 87a0145..5a8cb17 100644 --- a/conversion/ConvertDirectory.java +++ b/conversion/ConvertDirectory.java @@ -32,7 +32,6 @@ public class ConvertDirectory { private CanConvert canConvert; private boolean can; private StyleChecker styleSheet; - private boolean styleFlag; public ConvertDirectory() { html = new ConvertFile(); canConvert = new CanConvert(); @@ -51,8 +50,6 @@ public class ConvertDirectory { IndexCreator index = new IndexCreator(directory); // iterate through the directory. System.out.println("Current Directory: "+directory.getAbsolutePath()); - // reset styleFlag. - styleFlag = false; for(File file:directory.listFiles(new FileSieve())) { if(file.isFile()) { can = canConvert.check(file); @@ -60,8 +57,9 @@ public class ConvertDirectory { System.out.println("Converting..."+file.getAbsolutePath()); html.convert(file); index.add(file); - // set styleFlag. - styleFlag = true; + // check for style sheet in the directory; create/update + // if needed. + styleSheet.check(directory); } } else if(file.isDirectory()) { @@ -73,11 +71,6 @@ public class ConvertDirectory { } } } - // if styleFlag is set, check for style sheet in - // in the directory. - if(styleFlag) { - styleSheet.check(directory); - } boolean convertIndex = (index.shouldConvert() || canConvert.check(index.indexFile())); if(convertIndex) { diff --git a/docs/scruf b/docs/scruf deleted file mode 100644 index 63f0b3e..0000000 --- a/docs/scruf +++ /dev/null @@ -1,88 +0,0 @@ -scruf - documentation - -========== -scruf - documentation -========== - - ''scruf'' is a simple program that converts text marked-up in -''scruffy'' mark-up to HTML5 files. It was written specifically for -generating blog posts. The way ''scruf'' works is straight forward -- -it takes in directory and converts all the ''scruffy'' marked-up -plain-text files into corresponding HTML5 files. After the conversion, -''scruf'' puts links to the generated HTML5 files in the `index.html` -file of that directory. So, that's how ''scruf'' works. - -==================== -using scruf -==================== - -Before you plunge into learning about scruf and eventually using -it. Let me run you through the pre-requisites. - - '''Paraphernalia''': ''scruf'' is written in Java, therefore, you'll - need the `openjdk` package, inorder to be able to compile and run - scruf. Go ahead and install `openjdk` before proceeding - forward. Number two, ''scruf'' was written on a GNU/Linux machine, - so, it should work well on all Unix-based operating systems. - -Once, you have a copy of `openjdk` installed on your machine, you're -all set to start licking ''scruf''. Here we go. - -============================== -scruffy mark-up -============================== - -Inorder to convert plain-text files into HTML5 using ''scruf'', you -got to mark it up with the ''scruff'' mark-up, so that ''scruf'' -understands the elements of the plain-text document and duly converts -them into HTML5. As the name suggests ''scruffy'' mark is pretty -shabby when compared to cleaner mark-ups like -[[http://daringfireball.net/projects/markdown/|Markdown]]. ''scruffy'' -is inspired, to an extent, from [[http://moinmo.in/|MoinMoin]] & -[[http://www.mediawiki.org/wiki/MediaWiki|MediaWiki]] syntax. - - -======================================== -basic structure -======================================== - -The ''scruffy'' plain-text document that is going to be converted by -''scruf'', follows a format and here it is: - -### - -title - -========== -foo heading -========== - -$$$ 1 January 1970 $$$ - -The bar blog post goes like this... -... -... -the bar blog post ends - ----------------------------------------------------------------------- -author's signature ----------------------------------------------------------------------- - -### - -The first line in the ''scruffy'' document __must__ always begin with -the text of the title of the document. The ''title'' is the string -that is going to be displayed on the browser tabs and for compliance -sake, it is recommended that it be same as the ''heading'' of the -''scruffy'' document. Followed by the ''title'' is the heading, then -the body of the post/essay/whatever and finally the author's -signature. This is the basic structure of a ''scruffy'' document. - - -======================================== -syntax -======================================== - -============================== -running scruf -============================== diff --git a/docs/scruf-howto.html b/docs/scruf-howto.html new file mode 100644 index 0000000..09eb543 --- /dev/null +++ b/docs/scruf-howto.html @@ -0,0 +1,258 @@ +<!DOCTYPE html> +<head> +<meta charset="UTF-8"> + <link rel="stylesheet" type="text/css" href="style.css" /> +<meta name="author" content=" rsiddharth"> +<title> scruf manual</title></head> +<body> +<article> + + + +<h1> scruf manual </h1> + +<h2> scruf </h2> + +<p> +scruf is a dirty, but minimalistic, program that spits out valid HTML5 +files from marked up plain text files. +</p> + +<h3> scruffy markup </h3> + +<p> +The markup that is understood by scruf is called <i>scruffy</i>. The +<i>scruffy</i> markup is inspired from +<a href="http://moinmo.in/HelpOnMoinWikiSyntax">MoinMoin's markup</a>. +</p> + +<p> +To learn about the syntax and details about the <i>scruffy</i> markup, +take a look at the <a href="./scruffy-markup.html">documentation page</a> of +<i>scruffy</i> markup. +</p> + +<h2> how scruf works </h2> + +<p> +The way scruf works is darn straightforward. You give it a directory +and it recursively checks for <i>scruffy</i> marked up files and converts +them into valid HTML5. +</p> + +<p> +In each directory that contains <i>scruffy</i> marked up files, scruf +automatically creates an <span class="monospace">index.scruffy</span> file and a corresponding +<span class="monospace">index.html</span>,to which it appends links to all the HTML5 files that it +has converted. +</p> + +<p> +scruf provides its own style sheet which is placed in each directory +that has HTML5 files produced by scruf. +</p> + +<h2> using scruf </h2> + +<p> +At present, scruf is cursed to only run on GNU/Linux based operating +systems. +</p> + +<p> +scruf is written in Java, therefore, there is a strong possibility +that it could work out of the box in Windows, Mac, etc. But, be aware +that it was never tested in platforms other than GNU/Linux, so there +is no assurance that it <i>will</i> work as it should on other platforms. +</p> + +<p> +To be able to use scruf, the <span class="monospace">openjdk</span> package is required, in order to +compile and run scruf. +</p> + +<h3> installing the jdk </h3> + +<p> +On a <a href="http://www.debian.org/">Debian</a> GNU/Linux based system, the JDK +can be installed with: +</p> + +<div class="code"><br /> # apt-get update<br /> # apt-get install default-jdk<br /></div> + +<p> +If the above <span class="monospace">install</span> command does not work, do: +</p> + +<div class="code"><br /> # apt-cache search jdk <br /></div> + +<p> +to find the appropriate package name for the JDK and then install the +package with: +</p> + +<div class="code"><br /> # apt-get install appropriate-package-name<br /></div> + +<p> +For installing the JDK on other GNU/Linux systems, take a look at +openjdk's <a href="http://openjdk.java.net/">homepage</a> for more information. +</p> + +<h3> compiling scruf </h3> + +<p> +You must compile scruf's source files, before it can be run to eat +your <i>scruffy</i> marked up files. +</p> + +<p> +Extract the tar archive and <span class="monospace">cd</span> to scruf's territory: +</p> + +<div class="code"><br /> $ tar -xvzf scruf-X.X.X.tar.gz<br /> $ cd scruf-X.X.X/<br /></div> + +<p> +The 'X's represent the version number of the scruf package. +</p> + +<p> +The compilation procedure is arduous at present, it will be made +simpler and nicer in the future to come. +</p> + +<p> +Here's how the source is compiled at present: +</p> + +<div class="code"><br /> $ javac scruf/*.java<br /> $ javac scruf/*/*.java<br /> $ javac scruf/*/*/*.java<br /></div> + +<p> +By now, scruf is cooked and read to be exploited by your sweet +hands. +</p> + +<h3> convert <i>scruffy</i> files to HTML5 </h3> + +<p> +To convert <i>scruffy</i> marked up files, <span class="monospace">cd</span> to the directory where +scruf is: +</p> + +<div class="code"><br /> $ cd /path/to/scruf-X.X.X/<br /></div> + +<p> +and do: +</p> + +<div class="code"><br /> $ java scruf.Run /path/to/scruffy-files-directory/<br /></div> + +<p> +scruf will convert the <i>scruffy</i> marked up files and place the +generated HTML5 files in the same directory where the <i>scruffy</i> +marked up files reside. +</p> + +<p> +The HTML5 files, generated by scruf, <u>must not</u> be manually edited, +if you wish to edit a HTML5 file, edit the corresponding <i>scruffy</i> marked +up file and generate the HTML5 files again by doing: +</p> + +<div class="code"><br /> $ java scruf.Run<br /></div> + +<p> +As is seen above, it is not required to give the path to the <i>scruffy</i> +files directory every time. scruf is intelligent enough to remember +the directory. So from the second time on, it is just enough to run +the program. +</p> + +<p> +When a directory is given to scruf, when it is invoked: +</p> + +<div class="code"><br /> $ java scruf.Run /path/to/directory<br /></div> + +<p> +It stores the absolute path of the directory in <span class="monospace">~/.scruf/list</span>. +</p> + +<p> +Every time, scruf is run: +</p> + +<div class="code"><br /> $ java scruf.Run<br /></div> + +<p> +it checks all the directories is the <span class="monospace">list</span> for new/modified <i>scruffy</i> +marked up files and converts them into HTML5. +</p> + +<h3> ignoring directories </h3> + +<p> +As previously mentioned, scruf recursively checks the given directory +to find <i>scruffy</i> marked up files. There will be times when it doesn't +make sense to let scruf loiter in sub-directories. It is possible to +tell scruf to ignore the respective sub-directories. +</p> + +<p> +To do this, create a <span class="monospace">.ignored</span> file in the respective directory and +list all the sub-directories that has to be ignored. The +sub-directories listed in <span class="monospace">.ignored</span> should be line seperated. +</p> + +<p> +For instance, if <span class="monospace">audio/</span>, <span class="monospace">video/</span>, <span class="monospace">images/</span> are the +sub-directories, that are to be ignored by scruf in the respective +directory. The <span class="monospace">.ignore</span> file, in this case, will look like this: +</p> + +<div class="code"><br />audio/<br />video/<br />images/<br /></div> + +<h2> Cascading Style Sheets(CSS) </h2> + +<p> +scruf places <span class="monospace">style.css</span> in each directory in which it finds a <i>scruffy</i> +marked up file. Feel free to edit & modify the style sheet. but please +remember not to change/remove the <u>names</u> of <span class="monospace">classes</span>, it may +mess up the formatting of all the HTML5 files that are dependent on the +style sheet. +</p> + +<p> +The <a href="./style.css">style.css</a> is valid CSS3. +</p> + +<h2> have problems? </h2> + +<p> +If there are/is any issue(s) with using scruf or understanding how it +works. Please subscribe & send an email to the +<a href="http://lists.nongnu.org/mailman/listinfo/scruf-friends">scruf-friends</a> +mailing list. That way we can solve your problem together. +</p> + + +<footer>a <i>scruffy</i> howto.</footer> + + + <div class="source"> + + <a href="./scruf-howto.scruffy">source</a> + </div> +<div class="back"> +<a href="./"> back </a> +</div> +</article> + +<div class="lastupdate"> + Last Updated on: 21 December, 2012</div> + +<div class="scruf"> +<a href="http://nongnu.org/scruf/">powered by scruf</a> +</div> + +</body> +</html> diff --git a/docs/scruffy-markup.html b/docs/scruffy-markup.html new file mode 100644 index 0000000..c367a5b --- /dev/null +++ b/docs/scruffy-markup.html @@ -0,0 +1,298 @@ +<!DOCTYPE html> +<head> +<meta charset="UTF-8"> + <link rel="stylesheet" type="text/css" href="style.css" /> +<meta name="author" content=" rsiddharth"> +<title> the scruffy markup</title></head> +<body> +<article> + + + +<h1> the scruffy markup </h1> + +<p> + <i>scruffy</i> is the markup that is understood by scruf. +</p> + +<p> +All <i>scruffy</i> marked up documents must have a <span class="monospace">.scruffy</span> extension +-- that is how scruf comes to know that a particular file is, indeed, +a <i>scruffy</i> document. +</p> + +<p> +The following sections will get you acquainted with the <i>scruffy</i> +markup. +</p> + +<h2> meta things </h2> + +<p> +First things first. At the beginning of the <i>scruffy</i> document, it +is required to specify some <span class="monospace">meta</span> things -- the document title & the +author of the document. +</p> + +<p> +This is how it is done. +</p> + +<div class="code"><br />meta-title: Title of Your Document<br />meta-author: Author<br /></div> + +<h2> document date </h2> + +<p> +To specify the date of creation of the document, surround the date +with a pair of <span class="monospace">$$$</span>. +</p> + +<div class="code"><br />$$$ 1 January, 1984 $$$<br /></div> + +<p> +It can be made verbose too. +</p> + +<div class="code"><br />$$$ Posted on 1 January, 1984 $$$<br /></div> + + +<h2> headings </h2> + +<p> +The mark-up for specifying the heading is the clumsiest of all. Now is +the time to hate <i>scruffy</i> for what it is. +</p> + +<p> +To specify a <h1> heading, surround the <i>heading string</i> with a pair +of <span class="monospace">10</span> equals sign(<span class="monospace">=</span>). +</p> + +<div class="code"><br />==========<br />Heading 1<br />==========<br /></div> + +<p> +For a <h2> heading, the <i>heading string</i> is surrounded by a pair of +<span class="monospace">20</span> equals sign. +</p> + +<div class="code"><br />====================<br />Heading 2<br />====================<br /></div> + +<p> +So the math is: +</p> + +<div class="code"><br />no of equals signs = ((heading size) * 10)<br /></div> + +<p> +For <h3> (head size is 3), the number of equals signs is equal to +30. Therefore, a to get a <h3> heading, the <i>heading string</i> should +be surrounded by a pair of <span class="monospace">30</span> equals signs. +</p> + +<h2> paragraphs </h2> + +<p> +Paragraphs are delimited by a blank line. +</p> + +<div class="code"><br />foo is good at drinking.<br /><br />bar loves to hack code.<br /></div> + +<p> +The above two lines are converted to: +</p> + +<div class="code"><br /><p> foo is good at drinking.</p><br /><br /><p> bar loves to hack code.</p><br /></div> + +<h2> word decoration </h2> + +<p> + <b>Bold</b> text is surrounded by three singles quotes(<span class="monospace">'''</span>). +</p> + +<div class="code"><br />'''This text will be in bold''' <br /></div> + + +<p> + <i>Italic</i> text is surrounded by two single quotes(<span class="monospace">''</span>). +</p> + +<div class="code"><br />''This text will be italicized''<br /></div> + +<p> + <u>Underlined</u> text is surrounded by two underscores (<span class="monospace">__</span>). +</p> + +<div class="code"><br /> __This text will be underlined__<br /></div> + +<p> +Text may be <span class="monospace">monopspaced</span> too, it is done by surrounding the text with +<span class="monospace">`</span> symbol. +</p> + +<div class="code"><br /> `monospaced text` <br /></div> + +<p> +If the beginning of the text, in a paragraph, is decorated, +then, please remember to <i>leave a space before starting the +paragraph</i>. +</p> + +<div class="code"><br /> ''This paragraph is'' decorated at the beginning with italics, <br />so, a space is left before starting the paragraph.<br /></div> + +<h2> code blocks </h2> + +<p> +When it is desired to illustrate code or show verbatim text, the text +or code is put around a pair of <span class="monospace">###</span>. +</p> + +<div class="code"><br /> ###<br /><br /> #include <beer.h><br /><br /> void main() {<br /> beer lager;<br /> lager.drink();<br /> return;<br /> }<br /><br /> ###<br /></div> + +<p> +Text inside code blocks <u>cannot</u> be marked up, as all special +characters are converted into their corresponding HTML number inside a +code block. +</p> + +<p> +All through this document, those grayscaled blocks of text are, +indeed, code blocks. +</p> + +<h2> block quote </h2> + +<p> +A block of text is <i>blockquoted</i> when it is surrounded by <span class="monospace">%%%</span> +string. +</p> + +<div class="code"><br />%%%<br /><br />The is phrase is fain to be blockquoted by scruf. <br /><br />%%%<br /></div> + +<h2> links </h2> + +<p> +The markup for links is very similar to +<a href="http://moinmo.in/HelpOnMoinWikiSyntax#Hyperlinks">MoinMoin's markup +for links</a>: +</p> + +<div class="code"><br /> [[http://en.wikipedia.org/wiki/Special:Random|Wikipedia Random Article]]<br /></div> + +<p> +As seen above, the <i>link block</i> is surround by <span class="monospace">[[</span> & <span class="monospace">]]</span>. The +first part inside the link block is the <i>link</i> and the second part +(which is optional) is a description of the link. The two parts of the +<i>link block</i> is separated by a <span class="monospace">|</span> (pipe) symbol. +</p> + +<p> +The pipe symbol (<span class="monospace">|</span>) is eliminated from the <i>link block</i>, if the +link description is not specified. +</p> + +<p> +The HTML form of the above <i>link block</i> will look like: +</p> + +<div class="code"><br /><a href="http://en.wikipedia.org/wiki/Special:Random"> Wikipedia Random Article </a><br /></div> + +<h2> images </h2> + +<p> +The markup for the <i>image block</i> looks like this: +</p> + +<div class="code"><br />{{/path/to/the/image.jpg|description of the image}}<br /></div> + +<p> +As seen above, the <i>image block</i> is enclosed with <span class="monospace">{{</span> & <span class="monospace">}}</span>. The +first part of the <i>image block</i> is the path to the location where +the image stored. The second part (which is optional) is a textual +description of the image. The textual description is what that is +shown when the image cannot be displayed in the browser(text-only +browsers, for instance). +</p> + +<p> +The two parts of the <i>image block</i> is separated by the <span class="monospace">|</span> (pipe) +symbol. The pipe symbol is eliminated, if the textual description of +the image is not specified. +</p> + +<h2> audio </h2> + +<p> +scruf uses HTML5 <audio> tag to embed audio. +</p> + +<p> +The markup for embedding audio: +</p> + +<div class="code"><br />{{audio:/path/to/the/audio.ogg}}<br /></div> + +<p> +As seen above, the <i>audio block</i> is enclosed with <span class="monospace">{{</span> & +<span class="monospace">}}</span>. Inside the braces, the <i>audio block</i> starts with <span class="monospace">audio:</span> +followed by the path to the audio file. +</p> + +<p> +At present, there is support for only Ogg Vorbis audio. +</p> + +<h2> footer </h2> + +<p> +The author's name and copyright information may be placed inside the +<i>footer block</i>. This block, as the name implies, is put at the end +of the document. +</p> + +<div class="code"><br />----------------------------------------------------------------------<br />written by Audacius Scrooge. It is licensed under CC-BY-SA<br />----------------------------------------------------------------------<br /></div> + +<p> +The <i>footer block</i> is enclosed by a pair of seventy hyphens +(<span class="monospace">-</span>). +</p> + +<p> +In Emacs, the whopping seventy hyphens can be generated with a <span class="monospace">C-u 70 +-</span>. +</p> + +<h2> have problems? </h2> + +<p> +If there are/is any issue(s) with understanding the <i>scruffy</i> +markup. Please subscribe & send an email to the +<a href="http://lists.nongnu.org/mailman/listinfo/scruf-friends">scruf-friends</a> +mailing list. That way we can solve your problem together. +</p> + +<p> +go back to the <a href="./scruf-howto.html">scruf-howto</a>. +</p> + + +<footer>a <i>scruffy</i> markup.</footer> + + + <div class="source"> + + <a href="./scruffy-markup.scruffy">source</a> + </div> +<div class="back"> +<a href="./"> back </a> +</div> +</article> + +<div class="lastupdate"> + Last Updated on: 21 December, 2012</div> + +<div class="scruf"> +<a href="http://nongnu.org/scruf/">powered by scruf</a> +</div> + +</body> +</html> diff --git a/docs/style.css b/docs/style.css new file mode 100644 index 0000000..d6a533a --- /dev/null +++ b/docs/style.css @@ -0,0 +1,180 @@ +/* + Author: rsiddharth + Contact: <rsiddharth@ninthfloor.org> + License: Public Domain <http://creativecommons.org/publicdomain/zero/1.0/> + +*/ + +article { + font-size:1.50em; + font-family:"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",FreeSerif,serif; + color:#787878; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:97%; + box-shadow: 1px 1.5px 3px 0.5px #bababa; +} + +h1, h2, h3, h4, h5 { + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:75%; + text-align:center; +} +h1 { + font-size:1.80em; +} + +p, i, b{ + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:70%; + text-align:justify; + line-height:170%; + -moz-word-wrap:break-word; +} +.center { + text-align:center; +} + +blockquote { + font-size:0.77em; + font-style:oblique; + color:#888888; + text-align:justify; + background-color:#fcfcfc; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:60%; +} + +span.monospace { + border: 1px; + padding: 1px; + font-size:0.625em; + font-family:monospace; +} + +div.code { + font-family:monospace; + font-size:0.625em; + background-color:#fcfcfc; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:70%; +} + +div.time { + font-size:0.50em; + font-family:"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",FreeSerif,serif; + color:#aaaaaa; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:20%; + text-align:center; +} + +img { + margin-left:auto; + margin-right:auto; + display:block; + border: 1px; + padding: 10px; +} + +audio { + margin-left:auto; + margin-right:auto; + display:block; + border: 1px; + padding: 10px; +} + +a:link,a:visited { + transition:border-bottom 0.3s, color 0.3s; + -moz-transition:border-bottom 0.3s, color 0.3s; + -webkit-transition:border-bottom 0.3s, color 0.3s; + -o-transition:border-bottom 0.3s, color 0.3s; + color:#686868; + border-bottom:1px dotted #d9d9d9; + text-decoration:none; +} +a:hover,a:active { + color:#000000; + border-bottom: 1px; + text-decoration:none; +} + +div.back { + font-size:0.7em; + font-family:junicode,"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",FreeSerif,serif; + text-align:center; + color:#989898; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:7%; +} + +footer { + font-size:0.8em; + font-family:"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",FreeSerif,serif; + text-align:center; + color:#989898; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:45%; +} + +div.lastupdate { + font-size:0.6em; + font-family:"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",FreeSerif,serif; + text-align:center; + color:#989898; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:40%; +} + +div.source { + font-size:0.4em; + font-family:monospace; + text-align:center; + color:#989898; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:40%; +} + +div.scruf { + font-size:0.9em; + font-family:"Palatino Linotype","Book Antiqua",Palatino,"URW Palladio L",FreeSerif,serif; + text-align:center; + color:#bcbcbc; + margin-left:auto; + margin-right:auto; + border:1px; + padding:5px; + width:40%; + +} + @@ -10,22 +10,9 @@ SCRUF - TODO -*- mode: org; -*- introduce mark-up for lists. Weird that I have not implement yet. -** [hp] documentation - - introduction to 'scruf' & 'scruffy' mark-up. finished the initial - draft. It need to be edited and fine tuned. - ** mark-up to center align text * distribution related - -** README file - a brief description of the project; pointer to website; notes on - the platform; a roadmap to important files; pointer to INSTALL - file; pointer to AUTHORS file; project NEWS. -** INSTALL file - point to the manual where installation instruction can be found. -** AUTHORS file ** NEWS file should contain information about new releases and features(if needed). @@ -33,19 +20,7 @@ SCRUF - TODO -*- mode: org; -*- not required for 0.1.0 release. ** FAQ file not required for 0.1.0 release. -** checksum - md5sum. -** manual - the manual file should also be part of the source distribution. - -** package & upload it in savannah - * website - -** create a documentation section in the homepage. - -** create a mailing list section in the homepage - * finished todos ** [done] ignore directories @@ -72,3 +47,19 @@ SCRUF - TODO -*- mode: org; -*- ** [done] mailing list ** [done] build rsiddharth's weblog Test it by generating rsiddharth's weblog using scruf. +** [done] manual + the manual file should also be part of the source distribution. +** [done] README file + a brief description of the project; pointer to website; notes on + the platform; a roadmap to important files; installation info + file; info about author; + +** [done] create a documentation section in the homepage. + +** [done] create a mailing list section in the homepage +** [hp] documentation + + introduction to 'scruf' & 'scruffy' mark-up. finished the initial + draft. It need to be edited and fine tuned. + + diff --git a/etc/scruf-art b/etc/scruf-art new file mode 100644 index 0000000..49c4853 --- /dev/null +++ b/etc/scruf-art @@ -0,0 +1,18 @@ + _______________ _______________ _______________ ____ ____ _______________ + | | | | | | | | | | | | + | ____________| | ___________| | _________ | | | | | | ___________| + | | | | | | | | | | | | | | + | | | | | | | | | | | | | |___________ + | |___________ | | | |_______| | | | | | | | + | | | | | _______| | | | | | ____________| + |___________ | | | | |\ \ | | | | | | + | | | | | | \ \ | | | | | | + | | | | | | \ \ | | | | | | + | | | | | | \ \ | | | | | | + ____________| | | |___________ | | \ \ | |_______| | | | + | | | | | | \ \ | | | | + |______________| |______________| |__| \__\ |_____________| |__| + + + + an ugly artwork for the dirty HTML5 generator.
\ No newline at end of file diff --git a/parsers/Footer.java b/parsers/Footer.java index f8d85ae..ad85c10 100644 --- a/parsers/Footer.java +++ b/parsers/Footer.java @@ -25,7 +25,7 @@ import java.util.regex.*; import scruf.io.*; public class Footer implements Parser { public String parse(String fileContent) { - Pattern pattern = Pattern.compile("\\-{70}\\n(.+)\\n\\-{70}"); + Pattern pattern = Pattern.compile("\\-{70}\\n(.+)\\n\\-{70}",Pattern.DOTALL); Matcher matcher = pattern.matcher(fileContent); StringBuffer sbuffer = new StringBuffer(); String footer=null; |