npm run start or bundle exec jekyll servenpm run dev (runs Grunt watch and Jekyll server in parallel)grunt (minifies JS, compiles LESS, adds banners)This is a Jekyll-based static blog generator (v3.8.2) forked from Hux Blog with Material You theme system.
Key directories:
_posts/ - Markdown blog posts with YAML front matter_layouts/ - Jekyll templates (default, post, page, keynote)_includes/ - Reusable Jekyll componentsjs/ - JavaScript (jQuery-based; includes theme-toggle.js for dark/light themes)less/ - LESS stylesheets (hux-blog.less, theme.less, material-design.less)css/ - Generated minified stylesheets (build output)pwa/ - Progressive Web App assets, service worker configBuild pipeline: LESS → CSS, JS minified via Grunt; Jekyll processes Markdown → HTML
Theme System: CSS variables (custom properties) define light/dark themes; JavaScript manages localStorage persistence
--- for front mattervar(--primary), var(--surface), var(--on-surface), etc. Use LESS mixins: .transition-standard, .elevation-2, .shape-mediumwindow.themeManager.toggleTheme()--kebab-caseCSS Variables (40+ tokens):
--primary, --secondary, --surface, --on-surface, --border-color, etc..elevation-0 to .elevation-5, .shape-small to .shape-large, .transition-standard.state-hover, .state-focus, .state-activeJavaScript API:
window.themeManager.getCurrentTheme() - Get ‘light’ or ‘dark’window.toggleTheme() - Toggle between themeswindow.addEventListener('themechange', callback) - Listen for theme changesFiles: /js/theme-toggle.js, /less/theme.less, /less/material-design.less
Documentation: See THEME_README.md, BUILD_GUIDE.md, QUICK_START.md