CEKTOP
Gulp-powered static site boilerplate for GitHub Pages.
Note: The content below is from previous versions and is only here for general reference.
CEKTOP helps you bootstrap your website or app using a Gulp & Node.js stack thatβs very configurable. So youβre not stuck using the default setup of Jekyll or plain jane HTML/CSS/JavaScript.
Out of the box CEKTOP compiles Pug and CSS using PostCSS, compresses JS files with UglifyJS and compresses images with gulp-imagemin.
If thereβs a Gulp plugin for it you can use it; remove and extend things as needed. Once youβre satisfied with your work you can publish it with a single Gulp task.
Start
You will need Node.js installed to use CEKTOP.
- Download the latest release or clone the repo
git clone https://github.com/ESWAT/CEKTOP.git npm install -g gulpif you do not have Gulp installednpm installfor remaining dependenciesgulpstarts a server in development mode whilegulp previewstarts it in preview mode, which optimizes your files as if you were ready to publish (both can be seen at localhost:8000)gulp buildwill build production-ready files without publishing to GitHub Pages or updating thegh-pagesbranchgulp shipitwill update yourgh-pagesbranch with production-ready files and publish to GitHub Pages- Optional: Install the LiveReload extension for Chrome so your browser automatically refreshes whenever you make changes in development mode
Example
Youβre looking at it. The master branch of this repo contains the development files, while the gh-pages branch contains only the files needed for the CEKTOP website.
The process of getting your work on GitHub Pages is pretty muchβ¦
- Download or clone CEKTOP and install dependencies
- Hack, hack, hack
gulp shipit
Structure
All your development work is done in the src directory. The files in src will be compiled and copied to the release directory as you work. The release directory is also used when publishing to GitHub Pages (see gulp-gh-pages for details on the process). This directory will be cleaned up whenever you run a Gulp task and populated with the files necessary for that environment. So during development these files will be more verbose to help with debugging, but will be optimized when using any of the Gulp tasks that produces production-ready files.
ββ src/
β ββ assets/
β ββ images/
β ββ script/
β ββ stylus/
ββ release/
β ββ assets/
β ββ images/
β ββ js/
β ββ css/
ββ gulpfile.js
ββ package.json
All of the magic is done in gulpfile.js, so take a look at that if you want to make modifications. Your Pug files also have visibility to some of the information stored in package.json, which you should modify to suit your project (you can see what is exposed in gulpfile.js under the Pug task).
License
CEKTOP is released under the MIT License.
When creating deriative works that include writing, or anything youβre cautious about being modified freely, you should consider replacing this license with one from Creative Commons instead.