Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
bymathias committed Jul 19, 2020
0 parents commit 6d50c9a
Show file tree
Hide file tree
Showing 44 changed files with 1,896 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"presets": [
[
"@babel/env",
{
"modules": "commonjs",
"targets": {
"node": "current"
}
}
]
]
}
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# editorconfig.org

root = true

[*]
charset = utf-8
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
APP_PORT=
APP_URL=
APP_API_PORT=
APP_API_URL=
14 changes: 14 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"extends": "standard",
"env": {
"node": true,
"browser": true,
"es6": true,
"jest": true
},
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
}
}
194 changes: 194 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
## GITATTRIBUTES FOR WEB PROJECTS
#
# These settings are for any web project.
#
# Details per file setting:
# text These files should be normalized (i.e. convert CRLF to LF).
# binary These files are binary and should be left untouched.
#
# Note that binary is a macro for -text -diff.
######################################################################

## AUTO-DETECT
## Handle line endings automatically for files detected as
## text and leave all files detected as binary untouched.
## This will handle all files NOT defined below.
* text=auto

## SOURCE CODE
*.bat text eol=crlf
*.coffee text
*.css text
*.htm text
*.html text
*.inc text
*.ini text
*.js text
*.json text
*.jsx text
*.less text
*.od text
*.onlydata text
*.php text
*.pl text
*.py text
*.rb text
*.sass text
*.scm text
*.scss text
*.sh text eol=lf
*.sql text
*.styl text
*.tag text
*.ts text
*.tsx text
*.xml text
*.xhtml text

## DOCKER
*.dockerignore text
Dockerfile text

## DOCUMENTATION
*.markdown text
*.md text
*.mdwn text
*.mdown text
*.mkd text
*.mkdn text
*.mdtxt text
*.mdtext text
*.txt text
AUTHORS text
CHANGELOG text
CHANGES text
CONTRIBUTING text
COPYING text
copyright text
*COPYRIGHT* text
INSTALL text
license text
LICENSE text
NEWS text
readme text
*README* text
TODO text

## TEMPLATES
*.dot text
*.ejs text
*.haml text
*.handlebars text
*.hbs text
*.hbt text
*.jade text
*.latte text
*.mustache text
*.njk text
*.phtml text
*.tmpl text
*.tpl text
*.twig text

## LINTERS
.babelrc text
.csslintrc text
.eslintrc text
.htmlhintrc text
.jscsrc text
.jshintrc text
.jshintignore text
.prettierrc text
.stylelintrc text

## CONFIGS
*.bowerrc text
*.cnf text
*.conf text
*.config text
.browserslistrc text
.editorconfig text
.gitattributes text
.gitconfig text
.gitignore text
.htaccess text
*.npmignore text
*.yaml text
*.yml text
browserslist text
Makefile text
makefile text

## HEROKU
Procfile text
.slugignore text

## GRAPHICS
*.ai binary
*.bmp binary
*.eps binary
*.gif binary
*.ico binary
*.jng binary
*.jp2 binary
*.jpg binary
*.jpeg binary
*.jpx binary
*.jxr binary
*.pdf binary
*.png binary
*.psb binary
*.psd binary
*.svg text
*.svgz binary
*.tif binary
*.tiff binary
*.wbmp binary
*.webp binary

## AUDIO
*.kar binary
*.m4a binary
*.mid binary
*.midi binary
*.mp3 binary
*.ogg binary
*.ra binary

## VIDEO
*.3gpp binary
*.3gp binary
*.as binary
*.asf binary
*.asx binary
*.fla binary
*.flv binary
*.m4v binary
*.mng binary
*.mov binary
*.mp4 binary
*.mpeg binary
*.mpg binary
*.ogv binary
*.swc binary
*.swf binary
*.webm binary

## ARCHIVES
*.7z binary
*.gz binary
*.jar binary
*.rar binary
*.tar binary
*.zip binary

## FONTS
*.ttf binary
*.eot binary
*.otf binary
*.woff binary
*.woff2 binary

## EXECUTABLES
*.exe binary
*.pyc binary
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Include your project-specific ignores in this file
# Read about how to use .gitignore: https://help.github.com/articles/ignoring-files
# Useful .gitignore templates: https://github.com/github/gitignore
node_modules
dist
.cache
.env
9 changes: 9 additions & 0 deletions .stylelintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"ignoreFiles": [
"./node_modules/**/*",
],
"extends": "stylelint-config-standard-scss",
"rules": {
"function-name-case": null
}
}
18 changes: 18 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
MIT License

Copyright (c) 2020. Mathias Brouilly <https://mathias.brouilly.fr>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
98 changes: 98 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# [Web Static Boilerplate](https://github.com/bymathias/web-static-boilerplate)

[![Github Release][github-release-img]][github-release-url]
[![dependencies][david-dm-dependencies-img]][david-dm-dependencies-url]
[![devDependencies][david-dm-devDependencies-img]][david-dm-devDependencies-url]

> Minimalist Static Website Boilerplate and build process to quickly get projects going.
## Features

**Development tools:**

- [Webpack 4]() as module bundler
- ES6 support via [Babel](https://babeljs.io/)
- Compile CSS/SASS via [PostCSS](https://postcss.org/) - [`postcss-preset-env`](https://preset-env.cssdb.org/) and [Sass](https://sass-lang.com/) - [`dart-sass`](https://www.npmjs.com/package/sass)
- Lint JS via [ESLint](https://eslint.org/) - [JavaScript Standard Style](https://standardjs.com/)
- Lint SASS via [Stylelint](https://stylelint.io/) - [Stylelint Config Standard](https://github.com/stylelint/stylelint-config-standard)
- Minimal HTML templating via [Handlebars](https://handlebarsjs.com/)
- Watch/build multi pages website via [html-webpack-plugin](https://www.npmjs.com/package/html-webpack-plugin) automatically
- Optimize assets via [Terser](https://terser.org/), [cssnano](https://cssnano.co/), [imagemin](https://www.npmjs.com/package/imagemin/), [htmlminifier](https://www.npmjs.com/package/html-minifier), [PurgeCSS](https://github.com/FullHuman/purgecss)
- Generate favicons via [favicons-webpack-plugin](https://www.npmjs.com/package/favicons-webpack-plugin)
- Generate sitemap via [sitemap-webpack-plugin](https://www.npmjs.com/package/sitemap-webpack-plugin)
- Gzip compression via [compression-webpack-plugin](https://www.npmjs.com/package/compression-webpack-plugin)
- Unit tests via [Jest](https://jestjs.io/)

**Frameworks/Libraries included:**

- [Bulma](https://bulma.io/)
- [Font Awesome](https://fontawesome.com/)
- [Brand Colors](https://www.npmjs.com/package/brand-colors)

## Installation

Clone the repository or download the [latest stable release][github-release-url]
```
git clone https://github.com/bymathias/web-static-boilerplate.git client
```
Make it your own
```
cd client
rm -rf .git && git init && npm init
```
Then install dependencies
```
npm install
```
## Usage

**Development:**

Watch/compile files and start development server
```
npm run dev
```
Run with debug mode on
```
npm run dev -- --debug
```
Run unit tests (Jest)
```
npm test
```
**Production:**

Build for production
```
npm run build -- --mode=production
```
Compressed versions of assets to serve them with Content-Encoding
```
npm run build -- --gzip
```
## Change Log

All notable changes to this project will be documented in the [CHANGELOG](CHANGELOG.md).

## Contributing

All types of [contributions][how-to-contribute-url] are most welcome.

- [Project issue][project-new-issue-url]: Bug reports, feature requests, and feedback.
- [Merge/Pull request][project-pull-request-url]: Bug fixes, new features and documentation.

## License

The code is available under the MIT [LICENSE](LICENSE.txt).

[github-release-url]: https://github.com/bymathias/web-static-boilerplate/releases/latest
[github-release-img]: https://img.shields.io/github/release/bymathias/web-static-boilerplate.svg?style=flat-square

[david-dm-dependencies-url]: https://david-dm.org/bymathias/web-static-boilerplate
[david-dm-dependencies-img]: https://img.shields.io/david/bymathias/web-static-boilerplate.svg?style=flat-square
[david-dm-devDependencies-url]: https://david-dm.org/bymathias/web-static-boilerplate?type=dev
[david-dm-devDependencies-img]: https://img.shields.io/david/dev/bymathias/web-static-boilerplate.svg?style=flat-square

[how-to-contribute-url]: https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github
[project-new-issue-url]: https://github.com/bymathias/web-static-boilerplate/issues/new
[project-pull-request-url]: https://github.com/bymathias/web-static-boilerplate/compare

0 comments on commit 6d50c9a

Please sign in to comment.