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.