Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nmihalyov/pure-start
Start your project with 'Pure Start' easily than ever!
https://github.com/nmihalyov/pure-start
boilerplate config frontend javascript pug sass scss task-runner typescript webpack
Last synced: about 1 month ago
JSON representation
Start your project with 'Pure Start' easily than ever!
- Host: GitHub
- URL: https://github.com/nmihalyov/pure-start
- Owner: nmihalyov
- Created: 2017-04-02T09:42:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-01-31T18:38:47.000Z (almost 3 years ago)
- Last Synced: 2024-10-01T06:35:46.911Z (about 1 month ago)
- Topics: boilerplate, config, frontend, javascript, pug, sass, scss, task-runner, typescript, webpack
- Language: SCSS
- Homepage: http://nmihalyov.tk/pure-start
- Size: 1.63 MB
- Stars: 85
- Watchers: 7
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pure Start
[Demo](https://nmihalyov.tk/pure-start)
**Pure Start** is a boilerplate that allows you to start working on a new project fast and easy. It provides you with a clean and flexible environment to create static applications and can be extended to create something more complex.
## Features
+ Starting local server
+ SASS/SCSS preprocessors
+ Pug templating
+ JS transpilation
+ TypesScript support
+ File minification
+ Some predefined UI components
+ and more...## Installation
+ Manually download and unpack repository archive
+ Using Git `git clone https://github.com/nmihalyov/pure-start.git`## Commands
Run this commands using `npm run ${command}` or `yarn ${command}`
+ `start` – starts local dev server on development mode
+ `build` – creates production build
+ `stats` – generates JSON file for analyzing bundle
+ `analyze` – opens analyze report (run `stats` before)
+ `comp` – creates new component (see below for details)
+ `prettier:check` – checks for prettier compliance
+ `prettier:fix` – fixes prettier issues
+ `eslint:check` – checks for eslint compliance
+ `eslint:fix` – fixes eslint issues## Creating a component
You can create component manually or by CLI. The comman below will create catalog and **pug**, **scss** files named by `` in components catalog with simple layout:`npm run comp `
#### Modificators
`--ui` – creates component in **_ui** subfolder
`--js` – additionaly creates **js** file
`--ts` – additionaly creates **ts** file
`--section` – generates section layout for **pug** file
## Structure
Boilerplate's structure is pretty simple!At the root there a some config files and script for creating components via CLI.
`dist` folder contains production build for your project that can be deployed. Do not changing anything here by your hands.
`src` is a working directory which contains your project source code. Below folders are located here.
`assets` is used for static content like images and fonts.
`components` contains your... components! They can be UI (like button, checkbox, etc.) or just simple components, as you like. Components usually has 3 realizations: markup – pug, styles – scss, scripts – javascript (this one may be missing).
`pug` consists of `layouts` (which are shells for different page, e.g. one for online shop interface and other for admin section), `pages` (for pages markup) and `utils` (any utilities you can use for pages or layouts).
`scss` for JavaScript and TypesScript files (you can write both, but it's highly recommended to use TS).
`scss` for global styles (don't write component specific styles here).
`index.js` is entry point for youe JS/TS files.
## Importing images
### Pug
To import image in pug files use **require**. E.g.:`img(src=require("@/assets/images/static/logo.png"), alt="Logo")`
### Scss
To use images in scss you can simply do it as you did before. E.g.:`background-image: url('@/assets/images/icons/github-white.svg')`
## Feedback
E-mail: [[email protected]](mailto:[email protected])
LinkedIn: [nmihalyov](https://linkedin.com/in/nmihalyov)
Telegram: [@nmihalyov](https://t.me/nmihalyov)
Website: [nmihalyov.tk](https://nmihalyov.tk)
[Write issue](https://github.com/nmihalyov/pure-start/issues/new)