Web Browser
Web Server
Server-side rendered (prepared) static content
A CMS (Content Management System) is a software application that allows the creation and delivery of digital content in general. The flavor Web Content Management System (WCMS) is widely used to publish websites. Well known (W)CMS are WordPress, Joomla, and Drupal.
A WCMS lets multiple contributors create, edit and publish websites from a central place to the web. Huge web projects, like an enterprise website, benefits from the centralized architecture but requires a large toolset to process data stores in a database into simple web pages provided by a webserver.
A typical CMS-driven website works by building every page dynamically. That means fetching the content from a database to pass them over to a template system (engine) to load the page content, adding the required structure information (e.g., CSS styles) and Javascript components if needed. This means every page is assembled on demand.
Web Browser
Web Server
Rendering Engine (e.g. PHP-based)
Database (e.g. MySQL, Postgres)
Static content (Images, Videos, JS- and CSS files) and Caches
J1 Theme (J1) is a boilerplate for websites created with Jekyll, a builder engine for static webs. J1 based websites are not static. J1 websites are full dynamic Webs but follow the principles of the JAMstack.
On the one hand, J1 sites are pure static sites based on a folder with HTML and supporting assets like JavaScript, Cascading Style Sheets (CSS), images, font files delivered by a web server. On the other hand, J1 has no moving parts processed by middleware systems like PHP to extract pages from a database like CMS (e.g. WordPress) does.
The builder engine Jekyll for J1 generates all components needed from JAM sources upfront. JAM sources include all CSS and Javascript files and APIs used to build a dynamic website.
Netlify provides everything needed to build fast, modern websites based on static websites generated by modern site generators like Jekyll and many others (Next.js, Hugo, Gatsby, 11ty). The platform supports powerful features like continuous deployment and serverless functions support your website for the better.
Netlify is an option to deploy, to place a J1-base static web on the Internet. Running a web on this platform is easy to manage, very fast, and can be done for free.
A content delivery network (CDN) ensures fast and reliable delivery of the contents of a website directly out of the region in which the visitors of a website are located. The network consists of a group of servers distributed around the world. This network enables the delivery of web content at the highest speed by providing temporary copies of files (caching) to the users.
One of the central strategies of the JAMstack is the creation of static Web content. All components of a static web like HTML pages, CSS and JavaScript files are already fully prepared. The Web server can deliver all files directly without any intermediate processing.
Static content enables a CDN to serve entire webs from the caches and thus leads to a significantly better processing speed than would ever be possible with classic content management systems (CMS).
GitHub is a code hosting platform for version control and collaboration using the version control system Git. The platform lets programmers and others work together on projects from anywhere. Millions of developers and companies build, ship, and maintain their software on GitHub.
Jekyll is the engine behind the service GitHub Pages, a GitHub feature that allows users to host websites based on their GitHub repositories for no additional cost. J1 based web projects are typically tracked under the control of Git. Placing such a repo at GitHub is good for public projects and small groups.
The JAMstack is a construction method for building websites and applications consisting of JavaScript, APIs, and Markup. Sounds trivial because all modern web technologies are using JAM components to create Webs.
The JAMstack is a philosophy, an approach to build modern Webs. It is not a compilation of developer tools, a software bundle like the LAMP Stack. In other words: the JAMstack technology describes how to create a web, not defining toolset to be used.
Today, JavaScript (JS) is omnipresent in all browsers. JS is the Virtual Machine (VM) for the Web to add dynamic to any web page. The VM is the processing engine at runtime of a web to modify or load the changing parts on all pages. And it is the runtime layer for the JAMstack.
An API (Application Programming Interface) is an intermediary that allows applications to communicate with each other. Understand APIs for the Web as an abstract interface for querying a particular service. A web server can load local (JS-)based APIs to add, e.g., additional items to a page at runtime or request a provider API on the Internet for a service to translate pages.
A markup language (ML) is a machine-readable language for structuring and formatting texts and data. Affiliations, and forms of representation of text sections are described by marking them with keywords: the tags. Markup languages aim to separate the structure and presentation of any text. A text marked this way must first be interpreted to achieve the desired output form.
However, it is possible to convert the selected text into any output format. The markup language enables a neutral description of text and data, regardless of the form of representation used for the output. The marked text can be prepared for output in a web browser with a suitable interpreter. However, the same markup text can be used to generate PDF files or for output to a printer.
J1 Theme makes intensive use of markup languages to generate HTML pages and CSS and JavaScript files of a website. According to the JAMstack approach, all marked (text) data are pre-processed to deliver all website files directly from a CDN.
A lot you’ve learned, time to summarize what is behind. The last chapter should help with that. The section Summarize offers some handy sections to remember what has been presented in this chapter. And giving an outlook of what could be done next, an overview of all chapters of this tutorial, and useful links to learn more.
See all sections below:
Recap — What has been done, what’s explored in current section
What Next — Find to go further, what’s planned next
All Chapters — The full chain, all chapters
Further Reading — List of helpful links to get more
This first section was a bit theoretical. However, one should be familiar with the functions of the tools, such as the terms of the JAM stack. As the tutorial progresses, the relationships between the components will become more complex. Then it will be helpful to assign individual components or work steps to the technical terms.
Without knowledge of technical terms, searching for information on the Internet will be quite difficult. You now know the most important terms. Using technical terms should also make searching the Internet easier.
Well done, folks. All the basics and technical terms were learned that are needed to create and publish the first website on the Internet. And that will only take a few minutes.
Unbelievable? Then go to the next section. Here is shown how to do it!
Go for A awesome Site.
Find here an overview on all chapters this tutorial:
You are here — Meet & Greet
A awesome Site
Development System
Project Management
Creating Content
Reading this chapter is not essential for working on the project first time. Additional links will be helpful to learn more. The references point to important sources of manufacturer documentation. Here you can find out all the possibilities what the products can offer. Experiences from others are extremely important when dealing with software and more complex projects. Links to other sites may answer common questions from the experience of professionals. Here you can think far outside the box of a project currently worked on.
Further links in the current section: