## ----eval=FALSE---------------------------------------------------------------
# reposRoot <- "path/to/reposRoot"
# ## The names are essential
# contribPaths <- c(source="src/contrib",
#                    win.binary="bin/windows/contrib/4.0",
#                    mac.binary="bin/macosx/contrib/4.0")

## ----eval=FALSE---------------------------------------------------------------
# extractVignettes(reposRoot, contribPaths["source"])

## ----eval=FALSE---------------------------------------------------------------
# genReposControlFiles(reposRoot, contribPaths)

## ----eval=FALSE---------------------------------------------------------------
# ## Define classes like this for each logical document chunk
# setClass("pdAuthorMaintainerInfo", contains="PackageDetail")
# setClass("pdVignetteInfo", contains="PackageDetail")
# ## Then define a htmlValue method
# setMethod("htmlValue", signature(object="pdDescriptionInfo"),
#            function(object) {
#            node <- xmlNode("p", cleanText(object@Description),
#                             attrs=c(class="description"))
#            node
#          })
# ## Then you can make use of all this...
# ## Assume object contains a PackageDetail instance
# authorInfo <- as(object, "pdAuthorMaintainerInfo")
# dom$addNode(htmlValue(authorInfo))

## ----eval=FALSE---------------------------------------------------------------
# details <- list(heading=list(tag="h3", text="Details"),
#                 content="pdDetailsInfo")
# downloads <- list(heading=list(tag="h3", text="Download Package"),
#                  content="pdDownloadInfo")
# vignettes <- list(heading=list(tag="h3",
#                     text="Vignettes (Documentation)"),
#                  content="pdVignetteInfo")
# doSection <- function(sec) {
#    dom$addTag(sec$heading$tag, sec$heading$text)
#    secObj <- as(object, sec$content)
#    dom$addNode(htmlValue(secObj))
# }
# lapply(list(details, downloads, vignettes), doSection)