Skip to content

Commit

Permalink
Placeholder docs, core work
Browse files Browse the repository at this point in the history
  • Loading branch information
david-w-millar committed Aug 23, 2013
1 parent ba0f64d commit 5203aa3
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 16 deletions.
1 change: 1 addition & 0 deletions grails-app/conf/BuildConfig.groovy
Expand Up @@ -18,6 +18,7 @@ grails.project.dependency.resolution = {
}
dependencies {
build 'net.sourceforge.plantuml:plantuml:7943'
build 'org.grails:doc-engine:1.0.1'
}

plugins {
Expand Down
47 changes: 44 additions & 3 deletions scripts/_Events.groovy
Expand Up @@ -3,17 +3,58 @@
*/

includeTargets << grailsScript('_GrailsPackage')
includeTargets << grailsScript('_GrailsEvents')
includeTargets << new File("$plantumlPluginDir/scripts/_PlantUML.groovy")

final String DOC_TYPE = 'refdocs'
final String REF_DOC_TYPE = 'refdocs'

// Generate diagrams for inclusion in docs
eventDocStart = { type ->
if(type == DOC_TYPE)
if(type == REF_DOC_TYPE)
ant.sequential.createPumlDiagrams()
}

eventDocEnd = { kind ->
if(type == DOC_TYPE)
if(type == REF_DOC_TYPE)
ant.cleanPumlDiagrams()
}


target(registerDocExtensions: 'Registers the plantuml gdoc macro') {
event("StatusUpdate", ["Registering custom doc extensions"])
org.radeox.macro.MacroLoader.newInstance().add(
org.radeox.macro.MacroRepository.instance,
new org.radeox.macro.Preserved() {

@Override
String getName() {
'plantuml'
}

@Override
void setInitialContext(org.radeox.api.engine.context.InitialRenderContext context) {
super.setInitialContext(context)
}

@Override
void execute(Writer writer, org.radeox.macro.parameter.MacroParameter params) {
def content = replace(org.radeox.util.Encoder.unescape(params.content))
if (params.length == 0) {
writer << content
} else if(params.length==1) {
def anchorName = params.get(0).replaceAll(/[^a-zA-Z0-9-]/, '')
writer << '<a href="#'+anchorName+'">' << content << '</a>'
} else {
def pageName = params.get(0)
def anchorName = params.get(1).replaceAll(/[^a-zA-Z0-9-]/, '')
writer << '<a href="'+pageName+'.html#'+anchorName+'">' << content << '</a>'
}
}
}
)
event("StatusUpdate", ["Finished registering plantuml macro"])
}




26 changes: 13 additions & 13 deletions scripts/_PlantUML.groovy
Expand Up @@ -6,20 +6,19 @@ import net.sourceforge.plantuml.ant.PlantUmlTask

includeTargets << grailsScript('_GrailsClasspath')
includeTargets << grailsScript('_GrailsEvents')
includeTargets << grailsScript('_GrailsCreateArtifacts')

final def START_EVENT_NAME = 'PumlStart'
final def END_EVENT_NAME = 'PumlEnd'
final def START_EVENT_NAME = 'PumlGenerationStart'
final def END_EVENT_NAME = 'PumlGenerationEnd'

// ----- [ Locations of Diagram ] -----
//final def DIAGRAM_SOURCE = "${basedir}/src/docs/diagrams"
final def DIAGRAM_SOURCE = "${basedir}/src"

//def sourceDirs = [ DIAGRAM_SOURCE, 'src']

// ----- [ Config ] -----
// TODO: pull in this config info from Config.groovy with sensible defaults
// Default Configs
def diagramSources = [
"${basedir}/src",
"${basedir}/grails-app"
]

// TODO: add these as configuration parameters in Config.groovy
// Default Config
def plantUmlConfig = [
format: 'png',
verbose: 'true',
Expand All @@ -42,11 +41,12 @@ target(generatePumlDiagrams: "Generate Diagrams from plantuml files"){
def msg = sprintf(fstring, [k,v])
showStatus msg
}
showStatus(sprintf(fstring, ['source dirs', DIAGRAM_SOURCE]))
showStatus(sprintf(fstring, ['source dirs', diagramSources.join(', ')] ))

ant.plantuml(plantUmlConfig){
fileset(dir: DIAGRAM_SOURCE) { include(name: '**/*') }
fileset(dir: 'grails-app') { include(name: '**/*') }
diagramSources.each { String dir ->
fileset(dir: dir) { include(name: '**/*') }
}
}
showStatus("Done PlantUML Diagram generation.")
event(END_EVENT_NAME, [])
Expand Down
3 changes: 3 additions & 0 deletions src/docs/guide/introduction.gdoc
@@ -0,0 +1,3 @@

Placeholder for docs.

1 change: 1 addition & 0 deletions src/docs/guide/toc.yml
@@ -0,0 +1 @@
introduction: Introduction
17 changes: 17 additions & 0 deletions src/docs/ref/Items/reference.gdoc
@@ -0,0 +1,17 @@
h1. example

h2. Purpose

This is an example reference item. Real ones are on the way...

h2. Examples

You can use code snippets:

{code}
def example = new Example()
{code}

h2. Description

And provide a detailed description

0 comments on commit 5203aa3

Please sign in to comment.