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