This guide explains how to switch between Minima and TeXt themes in your Jekyll site. The issue you were experiencing was that the TeXt theme was looking for local SASS files (specifically in the skins/ directory) that weren't present in your local _sass folder.
-
Created Missing SASS Structure: Added the required
skins/directory structure that TeXt theme expects:_sass/ ├── skins/ │ ├── _dark.scss # Dark theme variables │ ├── _default.scss # Default theme variables │ └── highlight/ │ └── _tomorrow-night.scss # Code highlighting theme ├── skins.scss # Main skins import file └── skins/ └── highlight.scss # Highlight theme import file -
Added Theme Variables: Created all the necessary SASS variables that the TeXt theme requires.
-
Simplified Configuration Management:
- Maintained separate configuration files:
_config.minima.ymland_config.text.yml - Updated the theme switching script to simply copy the appropriate config file to
_config.yml - This eliminates duplication and complex
sedoperations
- Maintained separate configuration files:
-
Updated Makefile: Modified the main Makefile to include theme switching functionality.
make switch-themeThis will show you a menu to select between themes.
# Switch to Minima theme
./scripts/switch-theme.sh minima
make clean && make
# Switch to TeXt theme
./scripts/switch-theme.sh text
make clean && make# Serve with Minima theme
make serve-minima
# Serve with TeXt theme
make serve-text
# Build with specific theme
make build-minima
make build-text- Clean, minimal design
- Dark mode support
- Fast loading
- Multiple sub-themes (dracula, leaf, hacker)
- Mobile responsive
- Modern iOS 11-inspired design
- 6 built-in skins
- Advanced search functionality
- MathJax & Mermaid diagram support
- Table of contents
- Internationalization
_sass/skins/- Directory containing theme skin files_sass/skins/_dark.scss- Dark theme variables for TeXt_sass/skins/_default.scss- Default theme variables for TeXt_sass/skins/highlight/_tomorrow-night.scss- Code highlighting theme_sass/skins.scss- Main skins import file_sass/skins/highlight.scss- Highlight import fileMakefile- Updated to include theme switchingscripts/switch-theme.sh- Simplified theme switching script (now uses file copying)Makefile.themes- Theme-specific make targets_config.minima.yml- Minima theme configuration_config.text.yml- TeXt theme configuration
If you encounter issues:
- Missing SASS variables: Add them to the appropriate skin file in
_sass/skins/ - Build errors: Run
make clean && maketo rebuild from scratch - Theme not switching: Check that
_config.ymlhas been updated by the script
Your _config.yml will be automatically updated when switching themes:
Minima Theme:
remote_theme: jekyll/minima
minima:
skin: dark
social_links: [...]TeXt Theme:
remote_theme: kitian616/jekyll-TeXt-theme
text_theme:
type: website
skin: dark
highlight_theme: tomorrow-night
lang: enThe theme switching script automatically creates backups:
_config.backup.yml- Backup of your previous configuration
This ensures you can always revert changes if needed.