MishkaCmsCore.Dev.LocalhostPages (Mishka CMS Core v0.0.1)

Copy Markdown View Source

The dev showcase: what localhost answers on top of the starter site every seeded site gets.

One module per site, because a page here names THIS site's components and THIS site's hooks by name and a list shared between sites cannot. MishkaCmsCore.Dev.Seeds picks the module out of @site_configs; MishkaCmsCore.Install.StarterContent has already written the home page a production install writes, which / is on this site too, and from MishkaCmsCore.Dev.StarterPages the about, contact and privacy pages these link back to.

The first of the pages below is the showcase, at /:lang/showcase: the page that used to stand at / in dev, now that / is the home a first install writes. The header links to it beside the demos.

Between them the pages below use every part of a runtime page a developer has to be able to see working: the UI kit's interactive components, a page form with uploads, page events and infos, pb:say, a site JS hook and a global one, a :param capture, a *rest capture, a page that is switched off, and the /:lang path mode every address here is written in.

Summary

Functions

The about page this site answers /:lang/about with, in place of the plain one MishkaCmsCore.Dev.StarterPages writes: the same page, plus a container hidden from visitors (MishkaCmsCore.Runtime.PageBuilder.Visibility) holding components and containers of its own — what the builder's Hide from visitors looks like when it opens, and what the live page leaves out.

The header links the layout is built with — see MishkaCmsCore.Install.StarterContent.

Functions

about()

@spec about() :: String.t()

The about page this site answers /:lang/about with, in place of the plain one MishkaCmsCore.Dev.StarterPages writes: the same page, plus a container hidden from visitors (MishkaCmsCore.Runtime.PageBuilder.Visibility) holding components and containers of its own — what the builder's Hide from visitors looks like when it opens, and what the live page leaves out.

pages(pictures)

@spec pages(%{required(atom()) => [String.t()]}) :: [map()]

The pages, as MishkaCmsCore.Runtime.PageProvision definitions.

pictures is MishkaCmsCore.Dev.SeedMedia.images/1 for this site, which these pages do not use — every site's module is asked the same question and MishkaCmsCore.Dev.SiteAPages answers it with faces from the library.