Sam Gammon
12/02/2022, 7:45 AMbase
is the most bare package. it has like, logging, base64, hex, UUIDSam Gammon
12/02/2022, 7:45 AMSam Gammon
12/02/2022, 7:46 AMconsole.log
etc, based on platform, it's a very thin layerSam Gammon
12/02/2022, 7:47 AMprivate val logging: elide.runtime.Logger = elide.runtime.Logging.named("ssg-test")
Sam Gammon
12/02/2022, 7:47 AMSam Gammon
12/02/2022, 7:47 AMprivate val logging: elide.runtime.Logger = elide.runtime.Logging.of(SomeClass::class)
Damien O'Hara
12/02/2022, 7:49 AMSam Gammon
12/02/2022, 7:49 AMSam Gammon
12/02/2022, 7:49 AMSam Gammon
12/02/2022, 7:49 AMhellocss
is used in the test suite, it's about as minimal as it getsSam Gammon
12/02/2022, 7:49 AMSam Gammon
12/02/2022, 7:49 AMSam Gammon
12/02/2022, 7:50 AMSam Gammon
12/02/2022, 7:50 AMSam Gammon
12/02/2022, 7:50 AM@Controller
(micronaut) is interchangeable with Elide's @Page
Sam Gammon
12/02/2022, 7:50 AMobject App
for self-containedness, you can obviously put your controllers wherever you wantDamien O'Hara
12/02/2022, 7:51 AMelide.site.abstract.*
e.g. SitePageSam Gammon
12/02/2022, 7:51 AMSam Gammon
12/02/2022, 7:52 AMSam Gammon
12/02/2022, 7:52 AMelide.site.abstract.*
is in a common
module so it can be sharedSam Gammon
12/02/2022, 7:52 AMSam Gammon
12/02/2022, 7:52 AMpackage elide.site.abstract
/** Describes info about a page on the Elide website. */
interface PageInfo {
/** Short identifying string (for references/keys). */
val name: String
/** Label to show in navigation. */
val label: String
/** Base path for this page. */
val path: String
/** Title that should show for the page. */
val title: String
}
Sam Gammon
12/02/2022, 7:52 AMpackage elide.site.abstract
/** Provides baseline logic and interface compliance for Elide site pages. */
abstract class SitePage protected constructor (val info: PageSpec) : PageInfo by info {
/** Static specification of page info. */
data class PageSpec internal constructor (
override val name: String,
override val label: String,
override val path: String,
override val title: String,
) : PageInfo
/** Sugar constructor for easy extension of [SitePage]. */
protected constructor (
name: String,
label: String,
path: String,
title: String,
) : this(PageSpec(
name,
label,
path,
title,
))
}
Sam Gammon
12/02/2022, 7:52 AMname
, label
, path
, title
Sam Gammon
12/02/2022, 7:53 AMDamien O'Hara
12/02/2022, 7:53 AMSam Gammon
12/02/2022, 7:53 AMSam Gammon
12/02/2022, 7:53 AM/** All top-level pages on the Elide site. */
val pages: List<SitePage> = listOf(
Home,
GettingStarted,
Packages,
Architecture,
Tooling,
Samples,
)
Damien O'Hara
12/02/2022, 7:53 AMSam Gammon
12/02/2022, 7:53 AMSam Gammon
12/02/2022, 7:53 AM