Project structure
Understanding the project structure of the theme-files repository.
These are the files and folders relevant to the theme/code aspect of the site:
-  
_includes: This folder holds small code files whose content can be retreived and placed inside another file during the build step. Read more about Jekyll includes. -  
_layouts: This is the folder that contains template files for different types of pages. Read more about Jekyll layouts.-  
default.html: The base layout that each other template inherits. This provides the flexibility to create a base layout for other layout types. -  
archive.html: The template for category and tag pages. For example: category #web. -  
page.html: The template for generic pages. For example: About page. -  
post.html: The template used by article pages. -  
series.html: The template used by series pages. For example: The Android development series. -  
tool.html: The template used by tools pages. For example, frontmatter generator tool. 
 -  
 -  
plugins: Contains custom ruby plugins that extends the jekyll build process to achieve required behavior. Read more about Jekyll plugins. -  
_scripts: This folder contains external python scripts that are mostly used in GitHub Actions to validate certain things. -  
_tools: This folder contains code for the various tools that are helpful to authors while writing articles. -  
assets: Contains static assets like stylesheets, images and javascript code for the site. -  
Other important files:
-  
_config.yml: Jekyll configuration file. Read more about Jekyll configuration. -  
manifest.json: Manifest data needed for PWA support. -  
search.json&sitemap.xml: Data for search across the site functionality & xml sitemap file respectively. -  
postcss.config.js&tailwind.config.js: TailwindCSS configuration files. -  
Gemfile&package.json: Declarations for Ruby and Node dependencies required by the theme. 
 -