We are working very hard to bring you the best documentation possible.

GETTING STARTED

Project Structure

fusion.ssg projects will contain the files and folders that are depicted below.

fusion.ssg's project generator relieves you of the burden of having to manually create and configure your projects.


  my-app/
  ├─ .git/
  ├─ .meta/
  ├─ build/
  │  ├─ {baseURL}/
  ├─ lib/
  ├─ node_modules/
  ├─ src/
  │  ├─ components/
  │  ├─ css/
  │  ├─ data/
  │  ├─ etc/
  │  ├─ includes/
  │  ├─ media/
  │  ├─ pages/
  │  ├─ scripts/
  │  ├─ templates/
  │     ├─ posts/
  ├─ .eslintignore
  ├─ .eslintrc.json
  ├─ .gitignore
  ├─ .assets.json
  ├─ browsersync-options.json
  ├─ browsersync.js
  ├─ fusion.json
  ├─ package-lock.json
  ├─ package.json
  ├─ tsconfig.json

Project Structure Details

Folder Description
.git Created and used by Git.
.meta Used internally by fusion.ssg during each build cycle.
build Contains the output of each development build cycle and is used to host your site during development.
build/{baseURL} Like build, but only for release builds served from a base URL.
lib Contains your project's compiled components.
node_modules Contains your project's Node packages.
src Contains the files and folders that fusion.ssg reads and processes to generate your static website.
src/components Contains .tsx and .jsx components.
src/css Contains your site's css. If you are using a css pre compiler, you should target its output to this folder. During builds, fusion.ssg copies all the .css file from this folder to the targeted build folder's css folder.
src/data Contains .json data sources used by components.
src/etc Contains files that fusion.ssg will move to the root of the build folder at the end of each build cycle, examples CNAME, favicon.ico, etc.
src/include Contains include files, both HTML and markdown.
src/media Contains media files.
src/pages Contains HTML page files.
src/scripts Contains browser script files, both .js and .ts. .ts files are compiled in place. If you are transpiling to JavaScript, you should target the transpiler to output to this folder. During builds, fusion.ssg copies all the .js files from this folder to the targeted build folder's scripts folder.
src/templates Contains HTML and markdown template files.
src/templates/posts Contains post markdown files.
.eslintignore Lists the files and folders that eslint is to ignore.
.eslintrc.json Your project's eslint configuration file.
.gitignore Lists the files and folders that Git is to ignore.
.assets.json Contains the meta data generated by fusion.ssg during each build cycle.
browsersync-options.json Browsersync configuration file for adding and overriding default options for both development and release.
browsersync.js Browsersync runtime script.
fusion.json Your project's configuration file.
package-lock.json NPM lock manifest.
package.json NPM package manifest.
tsconfig.json Your project's TypeScript configuration file.