The overall setup of a site
The file describing the overall setup of a site. (pdf)
2019-03-05
Details of the Settings for a site
I will use the term site (or web site) for
a set of connected web pages (or just pages)
which can be accessed through a web browser using the
world wide web
technologyFollowing the seminal ideas of Tim
Berners-Lee
.
The settings are all collected in a single YAML fileThe current
specification of YAML, but there are perhaps better explanations
. The annotated file for the currently running site can probably serve as
a concrete example.
The settings start with siteLayout
, which gives the
directories of the sources for
- theme: where the details of the appearances of the content are fixed,
- dough: the source text for the web pages,
- baked: where the converted files for the web site go; this may be
/var/www/html
The default web root for NGINX
, - masterTemplateFile: the template which determines the layout of the converted html - probably use the one provided and adapt later if necessary.
- blogAuthorToSupress: name or names of the authors of most of the material on a site, which should not be repeatedly shown as authors
The content must use the keywords that the theme set up; it is
possible to produce with the same theme (i.e. the same directory with
the same files) different web sites from different source directories.
It is likewise possible to produce different
baked directories
which are independently served from
different theme and the same content files.
The localhostPort
gives the port used by the server
created with the -s
switch of ssgbake
.
The siteHeader:
needs values for sitename:
,
byline:
, banner
(an imagepreferably wide and narrow; 1024 by 330 pixels works
well
to place by default at the top of all pages) with a
bannerCaption
, a text which can be read if the image not
visible.
Last, the entries of a static menu are given as
menuitems:
which is shown as a ribbon under the banner
page. They consist of a
navlink:
wich is a relative adress to a directory, usually within thedough
folder.navtext:
the text shown for the link.
The settings file is read each time ssgbake
is started
and content is baked
; changes are burnt into the converted
site and after changes, the site should be rebuildJust delete the bakedHomepage
directory
and rebuild with ssgbake
.
.
Topical subdivision of content
Usually the content of a site is divided in some topics,
e.g. contact
, publications
, blog
.
The content for each topic, i.e. the markdown files, are collected in
these directories.
Additionally an index.md
file must be added, which
serves as a introduction to the content; a sort of
table of content
is appended automatically and facilitates
navigation with clickable links.
Landing page
The landing page, i.e. the page shown when the URL of the site is opened. It typically contains a general introduction and links to the major pieces - possibly with some explanation.
The landing page of the homepage will be produced from the
file index.md
in the root (dough
) folder of
your homepage using the theme given in the settings file; no special
rules or provisions!
Resources directories
Directories to include resourcesresources
is a reserved name for
directories in SSG; these directories are not searched for web content
and should only contain static content, which is references from other
pages.
, e.g. images or pdf filescurrently only files with extensions jpg
,
JPG
or PDF
are dealt with, but extension is a
simple change in the Haskell source, specifically in
Shake2.hs
.
, which are references in other web pages and served can
be added wherever convenient. Their location are mentioned in the
references included in the source texts for the web pages they
reference.