Products Structure
Rasuke ships two trees: the compiled ThemeForest HTML in dist/ (and the classic dist-html/ package), and the Vite / Nunjucks source in rasuke-html-dev/. Keep them separate — edit source, then rebuild. Do not hand-edit generated CSS or JS bundles.
Compiled HTML (dist/ · dist-html/)
assets/
css/
main.css Vite bundle
vendors/glightbox.min.css
js/
vendors/ (classic package only)
gsap.min.js ScrollTrigger.min.js ScrollSmoother.min.js
ScrollToPlugin.min.js SplitText.min.js three.min.js
glightbox.min.js color-modes.js
main.js app bundle (ESM in dist/, IIFE in dist-html/)
home.js optional page bundle (classic package)
imgs/ fonts/
index.html index-2.html index-3.html
about.html services.html service-details.html
team.html team-details.html
blog.html blog-details.html
pricing.html contact.html terms.html 404.html
project-details.html
project-listing-1.html … project-listing-5.html
project-showcase-1.html … project-showcase-6.html
Development source (rasuke-html-dev/)
tokens/
tokens.json single source of truth (Figma variables)
scripts/
build-tokens.mjs tokens → _tokens.generated.scss
check-fse-ready.mjs lint:fse guard
sync-tf-vendors.mjs vendors:tf
build-html-js.mjs classic IIFE bundles for dist-html/
build-wp-runtime.mjs WordPress FSE port runtime
convert-*-images.mjs one-off Figma image converters (sharp)
public/assets/ favicon, vendor helpers (copied as-is)
js/vendors/ css/vendors/
src/
pages/ Vite entries (26 pages)
layouts/ base.njk
partials/ headers 1–4, footers 1–3, preloader,
cursor, offcanvas menu, page transition,
main navigation, back-to-top, scripts
sections/ hero / about / projects / services /
testimonials / team / blog / faqs / other
cards/ elements/ reusable fragments (where present)
data/ JSON globals (site, hero1, services4, …)
assets/
scss/ abstracts · base · layout · components · sections · main.scss
js/ main.js + one module per effect
(+ grid-deform/, hover-deform/, preloader/)
imgs/ Figma WebP exports @ 2× frame
vite.config.js
package.json
Pages compose sections. Sections are named by meaning (hero-1, services-4), never sec-1. Each section pairs one .njk file with one SCSS partial and, when it moves, one JS module and one src/data/*.json file.