Changed docId algorithm.
* Updated documentation to add manual titles. * Reworked the way `docIds` are chosen. Now instead of the full relative path name we use just the file, or enough of the relative pathname to uniquely identify the file.
This commit is contained in:
parent
a86b55726f
commit
6bc3235802
12
README.md
12
README.md
@ -1,4 +1,6 @@
|
|||||||
# Overview
|
# J Literate Programming
|
||||||
|
|
||||||
|
## Overview
|
||||||
*Jonathan's Literate Programming* is my take on literate programming.
|
*Jonathan's Literate Programming* is my take on literate programming.
|
||||||
This project grew out of a desire for a documentation system that:
|
This project grew out of a desire for a documentation system that:
|
||||||
|
|
||||||
@ -53,9 +55,9 @@ This project is in its infancy and some of the larger goals are still unmet:
|
|||||||
JLP processing directives would allow the author to specify which is
|
JLP processing directives would allow the author to specify which is
|
||||||
intended on a file (or block?) level.
|
intended on a file (or block?) level.
|
||||||
|
|
||||||
# Project Architecture
|
## Project Architecture
|
||||||
|
|
||||||
## Control and Flow
|
### Control and Flow
|
||||||
|
|
||||||
* [JLPMain](jlp://jlp.jdb-labs.com/JLPMain)
|
* [JLPMain](jlp://jlp.jdb-labs.com/JLPMain)
|
||||||
|
|
||||||
@ -85,7 +87,7 @@ This project is in its infancy and some of the larger goals are still unmet:
|
|||||||
|
|
||||||
[Markdown]: http://daringfireball.net/projects/markdown/
|
[Markdown]: http://daringfireball.net/projects/markdown/
|
||||||
|
|
||||||
## Parsing
|
### Parsing
|
||||||
|
|
||||||
* [JLPParser](jlp://jlp.jdb-labs.com/JLPParser)
|
* [JLPParser](jlp://jlp.jdb-labs.com/JLPParser)
|
||||||
|
|
||||||
@ -101,7 +103,7 @@ This project is in its infancy and some of the larger goals are still unmet:
|
|||||||
[PEG parser]: http://en.wikipedia.org/wiki/Parsing_expression_grammar
|
[PEG parser]: http://en.wikipedia.org/wiki/Parsing_expression_grammar
|
||||||
[parboiled]: http://www.parboiled.org
|
[parboiled]: http://www.parboiled.org
|
||||||
|
|
||||||
## Abstract Syntax Tree
|
### Abstract Syntax Tree
|
||||||
|
|
||||||
* [SourceFile](jlp://jlp.jdb-labs.com/ast/SourceFile)
|
* [SourceFile](jlp://jlp.jdb-labs.com/ast/SourceFile)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#Fri, 06 Jan 2012 12:20:57 -0600
|
#Tue, 10 Jan 2012 10:00:20 -0600
|
||||||
name=jlp
|
name=jlp
|
||||||
version=1.5
|
version=1.6
|
||||||
build.number=6
|
build.number=5
|
||||||
lib.local=true
|
lib.local=true
|
||||||
release.dir=release
|
release.dir=release
|
||||||
main.class=com.jdblabs.jlp.JLPMain
|
main.class=com.jdblabs.jlp.JLPMain
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # JLPBaseGenerator
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @author Jonathan Bernard
|
* # JLPMain
|
||||||
* @copyright JDB Labs 2010-2011
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
@ -18,7 +19,7 @@ import org.slf4j.LoggerFactory
|
|||||||
*/
|
*/
|
||||||
public class JLPMain {
|
public class JLPMain {
|
||||||
|
|
||||||
public static final String VERSION = "1.5"
|
public static final String VERSION = "1.6"
|
||||||
|
|
||||||
private static Logger log = LoggerFactory.getLogger(JLPMain.class)
|
private static Logger log = LoggerFactory.getLogger(JLPMain.class)
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # JLPParser
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp;
|
package com.jdblabs.jlp;
|
||||||
|
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
/**
|
||||||
|
* # JLPPegParser
|
||||||
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
|
* @org jlp.jdb-labs.com/JLPPegParser
|
||||||
|
*/
|
||||||
package com.jdblabs.jlp;
|
package com.jdblabs.jlp;
|
||||||
|
|
||||||
import com.jdblabs.jlp.ast.*;
|
import com.jdblabs.jlp.ast.*;
|
||||||
@ -10,10 +16,6 @@ import org.parboiled.Rule;
|
|||||||
import org.parboiled.annotations.*;
|
import org.parboiled.annotations.*;
|
||||||
import org.parboiled.parserunners.ReportingParseRunner;
|
import org.parboiled.parserunners.ReportingParseRunner;
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @org jlp.jdb-labs.com/JLPPegParser
|
|
||||||
*/
|
|
||||||
@BuildParseTree
|
@BuildParseTree
|
||||||
public class JLPPegParser extends BaseParser<Object> implements JLPParser {
|
public class JLPPegParser extends BaseParser<Object> implements JLPParser {
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # LinkAnchor
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # LiterateMarkdownGenerator
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # MarkdownParser
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @author Jonathan Bernard
|
* # Processor
|
||||||
* @copyright JDB Labs 2010-2011
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
@ -108,9 +109,26 @@ public class Processor {
|
|||||||
shFile.delete()
|
shFile.delete()
|
||||||
|
|
||||||
/// * Create the processing context for each input file. We are using
|
/// * Create the processing context for each input file. We are using
|
||||||
/// the relative path of the file as the document id.
|
/// the name of the file (including the extension) as the id. If there
|
||||||
|
/// is more than one file with the same name we will include the
|
||||||
|
/// file's parent directory as well.
|
||||||
inputFiles.each { file ->
|
inputFiles.each { file ->
|
||||||
def docId = getRelativeFilepath(inputRoot, file)
|
|
||||||
|
// Get the relative path as path elements.
|
||||||
|
def relPath = getRelativeFilepath(inputRoot, file)
|
||||||
|
def pathParts = relPath.split('/') as List
|
||||||
|
|
||||||
|
// Start with just the file name.
|
||||||
|
def docId = pathParts.pop()
|
||||||
|
|
||||||
|
log.trace("New target document: '{}' from source: '{}'",
|
||||||
|
docId, relPath)
|
||||||
|
|
||||||
|
// As long as the current id is taken, add the next parent directory
|
||||||
|
// to the id.
|
||||||
|
while(docs[docId] != null) { docId = pathParts.pop() + '/' + docId }
|
||||||
|
|
||||||
|
// Finally create the TargetDoc item.
|
||||||
docs[docId] = new TargetDoc(
|
docs[docId] = new TargetDoc(
|
||||||
sourceDocId: docId,
|
sourceDocId: docId,
|
||||||
sourceFile: file,
|
sourceFile: file,
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # TargetDoc
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp
|
package com.jdblabs.jlp
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # ASTNode
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # Block
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # CodeBlock
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
* @org jlp.jdb-labs.com/ast/CodeBlock
|
* @org jlp.jdb-labs.com/ast/CodeBlock
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # Directive
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # DocBlock
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
|
* # DocText
|
||||||
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
* @copyright JDB Labs 2010-2011
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @author Jonathan Bernard
|
* # SourceFile
|
||||||
* @copyright JDB Labs 2010-2011
|
* @author Jonathan Bernard (jdb@jdb-labs.com)
|
||||||
|
* @copyright 2011-2012 [JDB Labs LLC](http://jdb-labs.com)
|
||||||
*/
|
*/
|
||||||
package com.jdblabs.jlp.ast
|
package com.jdblabs.jlp.ast
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user