<commit_before># statinamic

> A static website generator that create dynamic website using React components.

[![Travis Build Badge](https://img.shields.io/travis/MoOx/statinamic/master.svg)](https://travis-ci.org/MoOx/statinamic)

## Description

This website generator is like no other. Since it is based on React for the UI,
it can render pages on both client and server
(~~Isomorphic~~ [Universal](https://medium.com/@mjackson/universal-javascript-4761051b7ae9)
rendering).
It's a static website generator because it helps to generate a simple website
from markdown files (to HTML).

_The nice part is it can offer the same UX as an app by using small requests for
data (eg: JSON) and allow to easily integrate smooth navigation between pages
(eg: using [bloody-react-transition-child](https://github.com/bloodyowl/react-transition-child))._


## Install

```console
$ npm install MoOx/statinamic
```

## Usage

See [demo](demo) for now.

### What you need to know

You will need to:

* initialize your bundle with your preferences, routes and components
* create your build script so you can
  * define your configuration
    (eg: webpack loaders to add your favorite css preprocessor)
  * run the dev server
  * build for production

For that you will mainly need to:

* write or reuse [React components](http://react-components.com/)
* tweak [webpack configuration](http://webpack.github.io/docs)
  so you can consume images, svg, css or whatever you want.

Check out the [demo source code](demo).

---

## Explanation

During the build process, markdown files are parsed, and transformed as JSON
files (one part with the YAML header meta informations, one part with the body
as HTML).
So both client and server can easily consume markdown files (as json) in order
to render pages from React components. That's it !

On top of that you can add pretty much whatever you want to write styles the way
you like (CSS, inlines styles...) and you can even create your own pages from
plain React components. This generator is just an helper.

### Packages used

* [Babel](http://babeljs.io)
  for writing ES6 and ES7
* [Webpack](http://webpack.github.io)
  for bundling,
  with [Webpack Dev Middleware](http://webpack.github.io/docs/webpack-dev-server.html)
* [React](https://github.com/facebook/react)
  for writing UI
* [React Router](https://github.com/rackt/react-router)
  for routing
* [Redux](https://github.com/gaearon/redux)
  for handling application state
  (a better [Flux](http://facebook.github.io/flux/)implementation)
* [Redux Dev Tools](https://github.com/gaearon/redux-devtools)
  for awesome DX (developer experience).

## Some packages that might helps

* [react-transform-webpack-hmr](https://github.com/gaearon/react-transform-webpack-hmr)
  for hotloading during development and some others friends from
  [react-transform-boilerplate](https://github.com/gaearon/react-transform-boilerplate)
* [react-helmet](https://github.com/nfl/react-helmet)
  for handling pages meta tags (title and meta...)
* [tape](https://github.com/substack/tape)
  for unit tests.

_⚠︎ The packages above are used in the [demo](demo)._

This project has been inspired by
[react-redux-universal-hot-example](https://github.com/erikras/react-redux-universal-hot-example/)


---

## CONTRIBUTING

* ⇄ Pull requests and ★ Stars are always welcome.
* For bugs and feature requests, please create an issue.
* Pull requests must be accompanied by passing unit tests (`$ npm test`).

## [CHANGELOG](CHANGELOG.md)

## [LICENSE](LICENSE)<commit_msg>Minor changes in README<commit_after># statinamic

> A static website generator that create dynamic website using React components.

[![Travis Build Badge](https://img.shields.io/travis/MoOx/statinamic/master.svg)](https://travis-ci.org/MoOx/statinamic)

## Description

This website generator is like no other. Since it is based on React for the UI,
it can render pages on both client and server
(~~Isomorphic~~ [Universal](https://medium.com/@mjackson/universal-javascript-4761051b7ae9)
rendering).
It's a static website generator because it helps to generate a simple website
from markdown files (to HTML).

_The nice part is it can offer the same UX as an app by using small requests for
data (eg: JSON) and allow to easily integrate smooth navigation between pages
(eg: using [bloody-react-transition-child](https://github.com/bloodyowl/react-transition-child))._


## Install

```console
$ npm install MoOx/statinamic
```

## Usage

See [demo](demo) for now.

### What you need to know

You will need to:

* initialize your bundle with your preferences, routes and components
* create your build script so you can
  * define your configuration
    (eg: webpack loaders to add your favorite css preprocessor)
  * run the dev server
  * build for production

For that you will mainly need to:

* write or reuse [React components](http://react-components.com/)
* tweak [webpack configuration](http://webpack.github.io/docs)
  so you can consume images, svg, css or whatever you want.

Check out the [demo source code](demo).

---

## Explanation

During the build process, markdown files are parsed, and transformed as JSON
files (one part with the YAML header meta informations, one part with the body
as HTML).
So both client and server can easily consume markdown files (as json) in order
to render pages from React components. That's it !

On top of that you can add pretty much whatever you want to write styles the way
you like (CSS, inlines styles...) and you can even create your own pages from
plain React components. This generator is just an helper.

### Packages used

* [Babel](http://babeljs.io)
  for writing ES6 and ES7
* [Webpack](http://webpack.github.io)
  for bundling,
  with [Webpack Dev Middleware](http://webpack.github.io/docs/webpack-dev-server.html)
* [React](https://github.com/facebook/react)
  for writing UI
* [React Router](https://github.com/rackt/react-router)
  for routing
* [Redux](https://github.com/gaearon/redux)
  for handling application state
  (a better [Flux](http://facebook.github.io/flux/)implementation)
* [Redux Dev Tools](https://github.com/gaearon/redux-devtools)
  for awesome DX (developer experience).
* [react-helmet](https://github.com/nfl/react-helmet)
  for handling pages meta tags (title and meta...)

## Some packages that might helps

* [react-transform-webpack-hmr](https://github.com/gaearon/react-transform-webpack-hmr)
  for hotloading during development and some others friends from
  [react-transform-boilerplate](https://github.com/gaearon/react-transform-boilerplate)
* [tape](https://github.com/substack/tape)
  for unit tests.

_⚠︎ The packages above are used in the [demo](demo)._

This project has been inspired by
[react-redux-universal-hot-example](https://github.com/erikras/react-redux-universal-hot-example/)

---

## CONTRIBUTING

* ⇄ Pull requests and ★ Stars are always welcome.
* For bugs and feature requests, please create an issue.
* Pull requests must be accompanied by passing automated tests (`$ npm test`).

## [CHANGELOG](CHANGELOG.md)

## [LICENSE](LICENSE)
{'fraction_non_alphanumeric': 0.10913705583756345, 'fraction_numerical': 0.003102086858432036, 'mean_word_length': 4.393916349809886, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 26, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5944697', 'n_tokens_mistral': 2131, 'n_tokens_neox': 2074, 'n_words': 780}