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.
-