Skip to content

Template repository, with code and issues common to every new website, meant to be forked to create new websites

Notifications You must be signed in to change notification settings

hestiaAI/website.template

Repository files navigation

Template repository, with code and issues common to every new ‹data community› website, meant to be forked to create new websites.

🎯 To create a new website based on this template repository, follow the step-by-step guide «How-to create a new website from WEBSITE.TEMPLATE» in the WEBSITE.DOCS repository.

💡 To report issues about this template repository itself, please head to the WEBSITE.TEMPLATE.factory repository.


‹SITE-TITLE› website

Netlify StatusTODO: update ‹SITE-UUID› and ‹SITE-NAME›

Access

Features

How-to?

Repository contents

Deliverables

The website is made of two major deliverables, whose sources are available in this repository:

  1. WEBSITE: publicly accessible website of HestiaLabs, in french and english;
  2. CMS: our content-authoring system (aka Netlify CMS) web app, accessible thru invite only.

Repository structure

/ ....................... NPM, 11ty & Netlify scripts for assembly, publishing & deployment
|
+-- conf/ ............... Config of our publish & deploy pipeline
|   +-- 11ty/ ........... Eleventy config files included from .eleventy.js
|   +-- netlify/ ........ Netlify config files
|       +-- cms/ ........ NetlifyCMS webapp runtime config file, deployed to admin/ upon build
|       +-- forms/ ...... Netlify Forms static definitions, deployed to admin/form/ upon build
|
+-- src/ ................ Sources (en/fr) of the components used to generate the website
|   +-- components/ ..... Web Components (front-end) used in layouts
|   +-- assets/ ......... Media assets, such as stylesheets and images used by theme or uploaded by users
|       +-- fonts/ ...... Fonts of the theme
|       +-- img/ ........ Images of the theme, directly added with Git
|       +-- large-media/. Large media assets, directly added with Git, stored in Netlify Large Media Storage — which could be omitted from a checkout to save space, without breaking the preview too much
|       +-- media/ ...... Media assets, uploaded by end-users with the CMS, stored in Netlify Large Media Storage
|       +-- styles/ ..... Stylesheets of the theme
|   +-- admin/ .......... NetlifyCMS single-page web app, to edit contents online
|   +-- site/ ........... Actual contents of website, along with layouts and assets
|       +-- _data/ ...... Fragments of data consumed by 11ty to generate static pages
|       +-- _includes/ .. Includes consumed by 11ty to generate static pages
|       +-- _layout/ .... Layouts consumed by 11ty to generate static pages
|       +-- home/ ....... Main homepage
|       +-- about/ ...... About us page
|       +-- blog/ ....... Blog homepage, posts, authors and categories
|       +-- contact/ .... Contact form
|       +-- legal/ ...... Legal notice page
|       +-- media/ ...... Press and media page
|       +-- …/ .......... …
|
+-- build/ .............. (transient) Generated website, in its various stages
|   +-- 11ty/ ........... (transient) Generated by 11ty, picked up by Snowpack
|   +-- snowpack/ ....... (transient) Generated by Snowpack and deployed by Netlify
|
+-- tools/ .............. Utility command-line scripts for development & administrative tasks

Essential configuration files

/ 
|
+-- netlify.toml ......... Netlify CB/CD and hosting config, which includes definition of
|                          runtime URL redirects, role-based access restrictions and HTTP-header overrides
+-- .eleventy.js ......... In-/out folders and config of 11ty build process
+-- .snowpack.config.js .. In-/out folders and config of Snowpack dev & build processes
+-- .gitattributes ....... Folders and files with Git LFS (Large File Storage) enabled
|
+-- conf/netlify/
    +-- cms/config.yml ... NetlifyCMS webapp runtime config
    +-- forms/*.html ..... Netlify Forms static definitions

URL space

Source folders contents are mounted at following public URLs, in the published website; the folders not represented hereafter are not published and mounted at URLs (source: .eleventy.js):

/
|
+-- conf/
|   +-- netlify/
|       +-- cms/config.yml ⟶ /admin/config.yml
|       +-- forms/*.html ——⟶ /admin/forms/
|
+-- src/
    +-- components/ ———⟶ /components/
    +-- assets/ ———————⟶ /assets/
    +-- admin/ ————————⟶ /admin/
    +-- site/
        +-- _data/i18n ⟶ /assets/i18n/
        +-- home/ —————⟶ /
        +-- about/ ————⟶ /about/
        +-- blog/ —————⟶ /blog/
        +-- contact/ ——⟶ /contact/
        +-- legal/ ————⟶ /legal/
        +-- media/ ————⟶ /media/
        +-- …/ ————————⟶ /…/