Skip to content
This repository has been archived by the owner on Jan 9, 2021. It is now read-only.

dbelyaeff/cogear.js

Repository files navigation

THE PROJECT IS DEPRECTATED

Cogear.JS – modern static websites generator

Requirements | Installation | Usage | Options | Website

About

Cogear.JS is a static site generator built 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.

Introduction video

Introduction to Cogear.JS

Features

  • 🖥 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 even rsync.
  • 🔓 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.

What it can be used for:

  • 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.

What it cannot be used for:

  • 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.

Requirements

You need Node.JS (9.x or higher) and NPM (usually comes together).

Download and install

The latest version (v10.9.0) is recommended.

Cogear.JS runs on:

  • Mac
  • Linux
  • Windows

You may also want to use awesome VSCode editor.

Installation

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.

Usage

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

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

Options

You can find the option via the --help command.

$ cogear --help

  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.
    --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

For more info, visit official website: https://cogearjs.org

TODO

  • Automated testing w/Jest
  • CI