These may seem a bit simple for DGMs, but they do solve a couple problems as
compared to "list ? list.first() ?: defaultValue". First, no repetition of the
"list" expression, which may be complex. Second, content assist will show
proposals for these methods. Third, the Groovy truth problems
The content remains under the site directory. The sitemap files determine
which files go into the two sites.
There are separate site-dev and site-user subprojects which reference
sitemap-dev.groovy and sitemap-user.groovy respectively. There is still
some further refinement we could do to make