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/ │ ├─ libs/ │ ├─ 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 files from this folder to the targeted build folder's css folder. |
src/css/libs | Contains 3rd party CSS libraries. During builds, fusion.ssg copies all the .css files from this folder to the targeted build folder's css/libs 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. |