Is a static website generator. An amazing agnostic project scaffolder to build awesome apps in a fly.
Pre-requisites:
To install:
curl -L https://raw.githubusercontent.com/oelizondo/Sofia/master/install.sh | sh
The first thing you'll want to do after installing Sofía is to restart your terminal, just to make sure all the config files are in order.
After that, you are ready to go!
sofia new myProject
Your project will look something like this:
app
|
|- assets
| + fonts
| + assets
| + images
|- buid
| + assets
| + css
| + js
| + index.html
|- css
| + style.scss
| + _mixins.scss
| + _variables.scss
|- js
| + main.js
|
|-.gitignore
|-gulpfile.js
|-index.html
|-package.json
You may be wondering about the build file. The server runs specifically from the the build folder.
However, all your work will go from the outside-in. Whichever changes you make in your assets folder, index or js, will be reflected in your build folder.
This is to make deployment easy and not tedious.
Pretty simple: Sofía grabs your assets folder and moves it over to your build, then starts up a python server.
sofia run
Additionally, you need to have another tab in your terminal to keep gulp running.
Gulp will compile your css, moves some files around and just makes things easier for you.
Sofía has tw types of generators.
With this, Sofía generates a new HTML documents with the name you pass a parameter, as well as a CSS files.
sofia g view myView
sofia g style myStyle
Sofia has an option to make a whole landing website in a single command. All you'd need to do is change the text and images to finish it!
sofia new myWebsite landing
Sofía has an additional mode that is slim
If you thought Sofía was agnostic and unopinionated, then wait till you see slim.
sofia slim mySlimProject
Structure:
app
|
|- css
| + vendor
|
|- js
|
|-.gitignore
|
|-index.html
That's it! Just a few folders and an index. No servers or gulp or anything like that.
We also have support for bigger apps, such as Angular and Backbone.
Sofía will create the necessary files and folders to make things easier for you to get up and running.
Naturally:
sofia new myAngularProject angular
sofia new myBackboneProject backbone
It is worth noting that for these apps, ES6 or (ES 2015) has support out of the box. You so can start immediatly coding in the lastest version of Javascript.
There are a few of extra commands that Sofía has. For example:
sofia version
sovia help
sofia update
These commands do exactly what you would expect them to.
If you have any issues, please let me know at:
oscarmarcelo95@gmail.comFeel free to send a pull request via github and propose changes, imporvements or patches to help improve Sofía