Requirements | Installation | Usage | Options | Website
Cogear.JS is a static site generator build with Node.JS and based on Webpack (v4.6).
It's inspired by Jekyll and others, but built on the top of the latest frontend technologies.
Providing awesome experience of on-the-fly hot reloading to instantly implementing any changes.
- π₯ Modern stack technologies
Build modern static websites with bundled scripts and styles.
Rapidly prototype and instantly deploy to the server.
Use any modern frontend stack (webpack bundled) β Vue.JS, React, Angular, Ember, etc. - π Blazing fast and reliable
Performs nearly 1.000 pages per second (depends on the pages content and raw computer processor power).
Being online. Server can handle thousands requests per seconds to serve static files (even on tiny VPS). - π¦ For any hosting
Doesn't requires any database (data stored in flat files) and works on any hosting (as it produces static html and assets files). - π Deploy built in
Create a preset and update your site to the server via FTP, SFTP or evenrsync
. - π Secure. No updates needed
Just forget about annoying regular update from usual CMS.
It's 100% secure for hacking because there is no backend after being deployed to the server. - Free. Open Sourced
Use it for free. For any needs. Forever.
Github Pages (or any similar project) you can host generated site for free.
- Rapid site prototyping,
- Portfolio site,
- Company site,
- Product site,
- Personal blog,
- Artist or musician site.
Any site that has its administrator generated content.
Using Firebase or any other backend, written in any lang (PHP, Ruby, Python, Node.JS) or even with CMS like a WordPress, with help of modern frontend technologies like Vue.JS or React, it can be turned into more dynamic site like e-commerce, products catalog and so on.
- Forum,
- Social network,
- Chat.
Or any other site type with great amount of user-generated content which relies on heavily database usage and dynamically generated pages.
You have Node.JS (9.x or higher) and NPM (usually comes together) to be installed.
The latest version (v10.9.0) is recommended.
Cogear.JS runs on:
- Mac
- Linux
- Windows
You may also want to use awesome VSCode editor.
To install Cogear.JS do next:
$ npm install cogear -g
# or
$ yarn global add cogear
Done. Congratulations!
Cogear.JS is now available by CLI-command cogear
.
Now you're ready to build your first site.
Go to the directory where all your local sites are hosted.
$ cd ~/Sites
Create a new site via command:
$ cogear new awesome-static-site # where "site" is your site folder name
# if you have a preset, use it's git repo address as fourth arg
$ cogear new awesome-static-site https://github.com/codemotion/cogear-preset-docs
After that go to site dir:
cd ~/Sites/awesome-static-site
And start up Cogear.JS in prefered mode.
$ cogear # run in develompent mode with hot-reload β by default
$ cogear build # build a site
$ cogear production # build a site and run local server
$ cogear deploy # deploy site to the default server
All available options can be seen via --git
(or shortcut -h
) command.
$ cogear -h
Usage: cogear [command] [options]
Options:
-v, --version output the version number
-s, --source [string] custom source directory.
-o, --output [string] custom output directory.
-p, --port [int] port to serve site on.
-h, --host [string] host to serve site on.
-n, --no-open do not open browser window automatically after built.
-w, --verbose verbose Webpack output.
-h, --help output usage information
Commands:
Development mode with hot-reload (default).
production|prod Production mode: build and serve.
build|b Build mode: just build.
deploy|d <preset> Deploy mode: build (if not) and deploy.
new|init [options] <site-name> Generate new site.
plugin|p [options] <plugin-name> Generate new plugin.
theme|t [options] <theme-name> Generate new theme.
For more information visit:
https://cogearjs.org
Let's take a look at the workflow.
For more info, visit official website: https://cogearjs.org
- Remove -y option from CLI. If name is given no questions would be asked by interface.
- Moved to Commander.JS for cli arguments processing.
- Added nicey WebpackBar to display compiling process.
- Updated performance measurements.
- Huge speed upgrades for Webpack with HardSourceWebpackPlugin.
- Add new hooks for cogear-plugin-blog.
- Add watcher for config.yaml which recompiles all pages on config changes.
- Refactor core plugins for webpack.
- Refactor preload and build.
- Resources in dev mode are being linked now (just serve static byexpress from given folders) instead of copied.
- Replaced HTMLWebpackPlugin because its extremly inperformance if page count is over thousand with simple webpack-compiled assets injection.
- Changed workflow from
Webpack β Build
toPreload β Webpack β Build
. - Make almost all processing operations asynchronously β huge speed performance.
Build of 10.000 pages (~ 3 pages per day in 10 years) tooks 14s now.
- Automated testing w/Jest
- CI