All Projects → fspoettel → blaupause

fspoettel / blaupause

Licence: MIT license
[NOT MAINTAINED] Use https://github.com/netlify-templates/victor-hugo instead

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to blaupause

axiom
Axiom - A Hugo Theme. GitTip: https://gitcoin.co/tip?username=jhauraw
Stars: ✭ 67 (-6.94%)
Mutual labels:  hugo, npm-scripts
mutschler.eu
Source code for my personal website https://mutschler.eu
Stars: ✭ 59 (-18.06%)
Mutual labels:  hugo
shopify-app-starter-kit
Shopify app starter kit written in Ruby on Rails w/ appropriate tools to get your Shopify app up and running quickly 🚀
Stars: ✭ 42 (-41.67%)
Mutual labels:  starter-kit
run-aspnetcore-basics retired
One Solution - One Project for web application development with Asp.Net Core & EF.Core. Only one web application project which used aspnetcore components; razor pages, middlewares, dependency injection, configuration, logging. To create websites with minimum implementation of asp.net core based on HTML5, CSS, and JavaScript. You can use this boi…
Stars: ✭ 15 (-79.17%)
Mutual labels:  starter-kit
NavHub
NAV community site
Stars: ✭ 14 (-80.56%)
Mutual labels:  hugo
react-typescript-starter
Simple starter-kit for react, redux, typescript, aphrodite, webpack
Stars: ✭ 14 (-80.56%)
Mutual labels:  starter-kit
trailing-slash-guide
Understand and fix your static website trailing slash issues!
Stars: ✭ 255 (+254.17%)
Mutual labels:  hugo
webpack-starter
🗽 Webpack + Babel + Sass
Stars: ✭ 11 (-84.72%)
Mutual labels:  starter-kit
contentful-export
Extract Contentful to Hugo
Stars: ✭ 22 (-69.44%)
Mutual labels:  hugo
stow-box
Formerly Linnia-box Starter kit for stow protocols for building Decentralized React Apps
Stars: ✭ 15 (-79.17%)
Mutual labels:  starter-kit
angular-cli-envvars
Example project for my article "Angular CLI and OS Environment Variables"
Stars: ✭ 56 (-22.22%)
Mutual labels:  npm-scripts
hugo-theme-texify
A minimal, latex-style hugo theme for personal blogging
Stars: ✭ 91 (+26.39%)
Mutual labels:  hugo
react-phoenix-users-boilerplate
Elixir/Phoenix + React + users template/boilerplate.
Stars: ✭ 71 (-1.39%)
Mutual labels:  starter-kit
nodejs-hackathon-boilerplate-starter-kit
Just a Hackaton/Startup Full-stack node.js starter
Stars: ✭ 37 (-48.61%)
Mutual labels:  starter-kit
timer-hugo
Timer is a personal portfolio theme powered by Hugo. It also can be use as a landing page theme.
Stars: ✭ 123 (+70.83%)
Mutual labels:  hugo
osprey-delight
Osprey Delight is the free-minded artist's choice for a clutter-free and blazingly fast single-page portfolio.
Stars: ✭ 43 (-40.28%)
Mutual labels:  hugo
canoe-blog
blog
Stars: ✭ 50 (-30.56%)
Mutual labels:  hugo
ath-hugo
Code and content for andrewheiss.com
Stars: ✭ 21 (-70.83%)
Mutual labels:  hugo
nextjs-typescript-quickstart
Get started on Next.js with TypeScript in seconds.
Stars: ✭ 33 (-54.17%)
Mutual labels:  starter-kit
Sass-Starter
SASS Starter - SCSS boilerplate for SMACSS
Stars: ✭ 35 (-51.39%)
Mutual labels:  starter-kit

blaupause

Greenkeeper badge

blaupause is a hugo starter kit based on npm scripts, webpack and postcss. It helps with setting up a modern web development stack and adds offline support via a service worker.

In the box

  • hugo with a layout boilerplate
  • build process managed via npm scripts
  • Development Mode: sourcemaps, browserSync live-reloading environment and debugging helpers
  • Production Mode: optimized builds, offline support via a service worker

JavaScript

CSS

Images/SVG

  • Automatic svg sprites via svg-sprite
  • Hugo partial to embed svg sprite

Dev Tools

Installation

This project depends on NodeJS being installed on your machine. If the Hugo binary is not yet available on your $PATH, it will be installed during npm install.

To initiate a new site, run:

  1. git clone https://github.com/felics/blaupause project
  2. cd project
  3. npm install
  4. npm start

Tasks & Task Configuration

Tasks are managed via nps and live in package-scripts.js. The following tasks are exposed in package.json:

npm start

Compiles all assets and starts a development server. Whenever you change a source file, the BrowserSync instance will reload your connected browsers with the changes. Sourcemaps are enabled.

npm run start:staging

Same as npm:start, but with production-ready assets. No sourcemaps, resources are optimized and gzipped.

npm run build

Builds all content and assets from src to public. Generates a production-ready build:

  • The production baseUrl is applied by hugo
  • Draft entries are not included
  • Source maps are omitted
  • JS & CSS is minified, NODE_ENV=production is passed to the javascript build
  • A service worker is added to the build
  • Debug console statement called with utils/debug are stripped

npm run build:clean

Removes the public-folder (executed automatically when running npm run build or npm start).

npm run lint

Runs eslint & stylelint against your code.

npm run test

Runs jest unit tests

Hugo Partials

image/svg

Reference a SVG-symbol from /static/svg/sprite.symbol.svg by ID. The SVG build task will look for .svg-files in src/img and sub-directories. Usage:

  <div class="icon">{{ partial "media/svg" (dict "id" "the-icon" "class" "optional-class") }}</div>

Offline Support

The service worker in src provides basic offline capabilities and follows a networkFirst strategy for static files and a cacheFirst strategy for google fonts and images. This means that visitors will always see the latest content and styles when a network connection is available. After the first visit, webfonts and images will be served from the cache and visited pages will work offline. The last cached version of the page will be served in the event that a user has no network connection. If you do not have dynamic content and changing static files, consider configuring workbox to use precaching. That way, your whole page will work offline once a single URL is visited.

Deploying to Netlify

Netlify is the easiest deploy option for blaupause. To get started, you have to:

Now Netlify will build and deploy your site whenever you push to git.

You can also click this button:

Deploy to Netlify

It is also possible to roll your own deploy with CircleCI and AWS as an alternative.

Adding Netlify CMS

To add Netlify CMS, add the following files to the repo and configure according to the netlify-cms docs.

/hugo/static/admin/index.html

<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Content Manager</title>

  <!-- Include the styles for the Netlify CMS UI, after your own styles -->
  <link rel="stylesheet" href="https://unpkg.com/netlify-cms@^0.7.0/dist/cms.css" />

</head>
<body>
  <!-- Include the script that builds the page and powers Netlify CMS -->
  <script src="https://unpkg.com/netlify-cms@^0.7.0/dist/cms.js"></script>
</body>
</html>

/hugo/static/admin/config.yml

backend:
  name: github # git-gateway if using Netlify Identity integration
  repo:  fspoettel/blaupause
  branch: master
  base_url: # See https://github.com/vencax/netlify-cms-github-oauth-provider or remove if using Netlify Identity
publish_mode: editorial_workflow
media_folder: "hugo/static/assets"
public_folder: "/assets"
collections: # See netlify-cms docs
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].