Web Starter Kit - a workflow for multi-device websites

Overview

Web Starter Kit

Overview

Web Starter Kit is an opinionated boilerplate for web development. Tools for building a great experience across many devices and performance oriented. Helping you to stay productive following the best practices outlined in Google's Web Fundamentals. A solid starting point for both professionals and newcomers to the industry.

Features

Feature Summary
Responsive boilerplate A responsive boilerplate optimized for the multi-screen web. Powered by Material Design Lite. You're free to use either this or a completely clean-slate via basic.html.
Sass support Compile Sass into CSS with ease, bringing support for variables, mixins and more. (Run gulp serve or gulp for production)
Performance optimization Minify and concatenate JavaScript, CSS, HTML and images to help keep your pages lean. (Run gulp to create an optimised version of your project to /dist)
Code Linting JavaScript code linting is done using ESLint - a pluggable linter tool for identifying and reporting on patterns in JavaScript. Web Starter Kit uses ESLint with eslint-config-google, which tries to follow the Google JavaScript style guide.
ES2015 via Babel 6.0 Optional ES2015 support using Babel. To enable ES2015 support remove the line "only": "gulpfile.babel.js", in the .babelrc file. ES2015 source code will be automatically transpiled to ES5 for wide browser support.
Built-in HTTP Server A built-in server for previewing your site locally while you develop and iterate
Live Browser Reloading Reload the browser in real-time anytime an edit is made without the need for an extension. (Run gulp serve and edit your files)
Cross-device Synchronization Synchronize clicks, scrolls, forms and live-reload across multiple devices as you edit your project. Powered by BrowserSync. (Run gulp serve and open up the IP provided on other devices on your network)
Offline support Thanks to our baked in Service Worker pre-caching, sites deploying dist to a HTTPS domain will enjoy offline support. This is made possible by sw-precache.
PageSpeed Insights Web performance metrics showing how well your site performs on mobile and desktop (Run gulp pagespeed)

Quickstart

Download the kit or clone this repository and build on what is included in the app directory.

There are two HTML starting points, from which you can choose:

  • index.html - the default starting point, containing Material Design layout.
  • basic.html - no layout, but still includes our minimal mobile best-practices

Be sure to look over the installation docs to verify your environment is prepared to run WSK. Once you have verified that your system can run WSK, check out the commands available to get started.

Web Performance

Web Starter Kit strives to give you a high performance starting point out of the box. Our median Web Page Test scores for the default template have a Speed Index of ~1100 (1000 is ideal) and a repeat-visit Speed Index of ~550 thanks to Service Worker precaching.

Browser Support

At present, we officially aim to support the last two versions of the following browsers:

  • Chrome
  • Edge
  • Firefox
  • Safari
  • Opera
  • Internet Explorer 9+

This is not to say that Web Starter Kit cannot be used in browsers older than those reflected, but merely that our focus will be on ensuring our layouts work great in the above.

Troubleshooting

If you find yourself running into issues during installation or running the tools, please check our Troubleshooting guide and then open an issue. We would be happy to discuss how they can be solved.

A Boilerplate-only Option

If you would prefer not to use any of our tooling, delete the following files from the project: package.json, gulpfile.babel.js and .travis.yml. You can now safely use the boilerplate with an alternative build-system or no build-system at all if you choose.

Docs and Recipes

Inspiration

Web Starter Kit is inspired by Mobile HTML5 Boilerplate and Yeoman's generator-gulp-webapp, having taken input from contributors to both projects during development. Our FAQs attempt to answer commonly asked questions about the project.

Contributing

Contributions, questions and comments are all welcome and encouraged. For code contributions to Web Starter Kit, please see our Contribution guide before submitting a pull request. Website related issues should be filed on the Web Fundamentals issue tracker.

License

Apache 2.0
Copyright 2015 Google Inc

Comments
  • Material Design > Components

    Material Design > Components

    To give developers targeting older browsers and simple sites a path to using Material Design, we're going to implement an official light-weight version using just JavaScript and CSS.

    These will strive to be simple enough that anyone can easily customise them. For evergreen browsers, we recommend just using Polymer directly where possible.

    This is a preliminary list we hope to ship:

    • Button (spec)
    • Radio button
    • Input (spec)
    • Toolbar
    • Card (spec)
    • Progress bar
    • Slider (spec)
    • Icon button
    • Fab
    • Shadow
    • Toggle
    • Toolbar
    • Menu button (spec)

    Who is working on what?

    | Element | Author | Prototype | | --- | --- | --- | | Button | @addyosmani | http://codepen.io/addyosmani/pen/Cjlaz | | Input fields | @mattcooper | http://codepen.io/mattcooper/pen/jmIua | | Radio button | @Itrulia | http://jsfiddle.net/itrulia/25pj2/ | | Icon button | Unassigned | | | Checkbox | @jasonmayes | http://codepen.io/jasonmayes/pen/wxtFr | | Shadow & Cards | @addyosmani | http://codepen.io/addyosmani/pen/zimes | | Toggle button | @mattcooper | http://codepen.io/mattcooper/pen/npEyu | | Progress | @marcacohen | | | Slider | @devnook | https://github.com/google/web-starter-kit/pull/334 | | FAB button | @wibblymat | http://codepen.io/wibblymat/pen/mnGsu | | Menu button | @nicolasgarnier | | | Theming | @devnook | In progress | | Toast | @wibblymat | http://codepen.io/wibblymat/pen/avAjq | | Layout (site) | @addyosmani | https://github.com/google/web-starter-kit/issues/295 | | Layout (app) | @addyosmani | unassigned |

    Technical details:

    • Components need to support all of the browsers listed in our matrix
    • Components should be written using CSS and vanilla JS (no jQuery or additional libraries)
    • If we're sticking with Sass, must be written with Sass or CSS and we'll tweak as necessary.
    • Maintain fidelity with the Polymer paper elements as closely as possible.
    • Attempt to style native HTML elements over wrapping where possible (to preserve accessibility)

    Web Starter Kit extras

    Notes

    • All elements will go through a UX review from the Material Design team before getting shipped as part of Web Starter Kit to make sure we're not messing up :)
    • The Polymer paper elements are going to be undergoing an accessibility review in the coming months. We'll keep a close eye on this and integrate any learnings that apply to our element set.

    Inspiration:

    I'll work with Google's MD team to try getting a review process in place for anything we create here.

    bug P1 
    opened by addyosmani 71
  • <meta http-equiv=">

    I'm not a fan of this meta tag, it's only useful in a tiny minority of cases, slows rendering, and fails validation. In IE8+ the presence of a <!doctype switches the rendering engine to standards compliance -- the only time this tag is useful is if the user has decided to switch your site to compatibility mode in IE8, 9 or 10 (not present in 11), or if you're on an Intranet using IE8, 9 or 10.

    Additionally, if you feel you need X-UA-Compatible then Microsoft's best standards are to place it in the header, not the HTML.

    Given that Google pushes for latest browser compatibility, and only supports the last two versions of each browser, will this tag be removed on the release of Edge?

    opened by JohnnyWalkerDesign 47
  • simplified icons, added full support for all add to home screen platforms

    simplified icons, added full support for all add to home screen platforms

    This PR adds support for Win 8.1 live tiles and streamlines the icons used across all add to home screen platforms. It implements all recommended meta tags across all platforms.

    review P1 cla: no 
    opened by pbakaus 40
  • editing scss files doesn't seem to update styles on page

    editing scss files doesn't seem to update styles on page

    hello all, not sure if it's me missing something or what, but I have cloned the repo and run 'npm install' from the directory with no issues. However, once running 'gulp serve', when I go to change any scss files gulp seems to run the 'styles' job like it should and the page reloads, but none of the styles change. The gulp file seems to update the '.tmp/styles/*' files correctly, but the reload doesn't then use these files.

    Simple example, deleting the entire contents of the 'app/styles/components/components.scss' file and saving seems to run all the gulp tasks and reloads the browser, but all styling stays the same.

    Any help would be much appreciated, I'm sure it's something I am doing stupidly wrong.

    Many thanks in advance. Mat

    question 
    opened by mbaxter91288 40
  • RangeError: Maximum call stack size exceeded

    RangeError: Maximum call stack size exceeded

    I am getting rangeerror in events.js when using gulp to build /dist. Any ideas. Thanks

    Finished 'jshint' after 1.23 s

    events.js:72 throw er; // Unhandled 'error' event ^ RangeError: Maximum call stack size exceeded

    review 
    opened by mashinista 39
  • Style Guide: Static vs. Generation

    Style Guide: Static vs. Generation

    It's time to decide whether we want Google WSK to stick with a static style guide or opt for the style guide to be auto-generated.

    There are an abundance of tools for the latter, but open questions around how well they're supported, how they work with BEM/SUIT/inuit and what the current recommendations from CSS thought leaders are.

    Static

    The current style guide is composed of a static HTML file that pulls in styles from a Sass-based directory of components. Our Material Design version is quite similar, but uses iFrames to pull in component demos. There are pros and cons to this approach:

    Pros:

    • Super simple for beginners to edit/update the file to change components, visual look and feel
    • Supports LiveReload, working with a preprocessor / the other nice build process bits you get with WSK

    Cons:

    • As it has to be manually updated, it may either become a burden to project authors or be deprioritized as it isn't part of the main site
    • It's a standalone representation of style and components without a direct link to the codebase.
    • The current setup requires additional build step configuration in our Gulpfile, though, this would likely be similar for any alternative approach.

    Auto-generation

    The auto-generation route is advocated by projects like KSS - used by GitHub for their styleguide sample, StyleDocco and PatternLab. Team Sass has previously looked at using Yeoman generators like this one to aid in the automation process.

    Pros:

    • Autogenerate Style Guides when changes are made to the codebase so in theory they shouldn't be able to fall behind
    • As the Style Guide is generated from source, beginners shouldn't need to manually update the end product - just adhere to the style of template necessary for auto-generation to work.

    Cons:

    • Gets tricky when you're working with components requiring JavaScript (where does the demo information live? Assume the generated content will be correct and include a script.js in your styleguide template?).
    • Duplication of template information (you end up with demo templates in both your source comments and style guide for components that are non-trivial or a mix of multiple components)

    Requirements

    Here is to the best of my understanding what we may want:

    • Automated style guide generation
    • Little overhead of learning yet another architecture methodology that will scare off beginners and intermediate devs.
      • E.g if we recommend BEM, SUIT or inuit for the general CSS architecture, we want to avoid (if possible) introducing yet another methodology unless it brings value. For example, I love PatternLab, but have this concern with Atomic Design, but less so KSS. Is KSS as complex? Is there something better?
    • Something that works well with components that may optionally require JavaScript.
      • e.g I have a button with a ripple effect powered by JS - the solution has a way for my auto-generated guide to demo it. Is this flawed thinking or does an existing solution support it?
    • A solution with up to date tooling.
      • We have no problem writing new Node modules to work with a solution if needed, but ideally the solution should have existing Node tooling around it. We can write the Gulp tasks needed if they aren't done.
      • Solution can't require users to use say, PHP. We're trying to minimize our dependency tree as much as possible.

    Open questions

    • Do Team Sass have a preferred setup for style guide generation? @jina talked about this at CSSConf
    • Is KSS actively maintained? The commit frequently seems to have slowed down in the last 6 months https://github.com/kneath/kss/commits/master
    • Does SUIT or inuitcss have a preferred solution for style guide generation that works well with those architectures? (cc @necolas @csswizardry)
    • How do existing techniques solutions with newer CSS architectures? e.g let's say I want to use SUIT as part of my architecture. Do I have to make the decision to use the architecture outlined by PatternLab / KSS/ StyleDocco over it. Does it generally not make sense to deviate from recommended structure?
    opened by addyosmani 31
  • Automatically generate favicons

    Automatically generate favicons

    Let's add the automated favicon generation support discussed in #442 :ice_cream:. We'll be using https://github.com/haydenbleasel/favicons to do the trick.

    By default, let's use a single image, but also recommend providing three unique ones instead in comments. We can also describe what each asset is used for and optionally add recommendations around treatment.

    P1 
    opened by addyosmani 25
  • when gulp serve: events.js:85 throw er; // Unhandled 'error' event

    when gulp serve: events.js:85 throw er; // Unhandled 'error' event

    C:\Users\Hans\web\starter\webstarterkit-1>gulp serve [09:35:45] Using gulpfile ~\web\starter\webstarterkit-1\gulpfile.js [09:35:45] Starting 'styles'... [09:36:01] 'styles' all files 92.75 kB [09:36:01] Finished 'styles' after 15 s [09:36:01] Starting 'serve'... [09:36:02] Finished 'serve' after 916 ms [WSK] Local URL: http://localhost:3000 [WSK] External URL: http://192.168.178.21:3000 [WSK] Serving files from: .tmp [WSK] Serving files from: app events.js:85 throw er; // Unhandled 'error' event ^ Error: spawn cmd ENOENT at exports._errnoException (util.js:746:11) at Process.ChildProcess._handle.onexit (child_process.js:1046:32) at child_process.js:1137:20 at process._tickCallback (node.js:355:11)

    C:\Users\Hans\web\starter\webstarterkit-1>node -v v0.12.0

    C:\Users\Hans\web\starter\webstarterkit-1>npm -v 2.5.1

    question 
    opened by HansS 24
  • Host a version of the

    Host a version of the "hello world"

    We should host a version of the hello world so that people can play with it without downloading it.

    Note: we probably can't do this on gh-pages under the google org.

    duplicate enhancement documentation 
    opened by PaulKinlan 24
  • Boilerplate: CSS library

    Boilerplate: CSS library

    Sushi is targeting a 60fps experience from the get-go, meaning that we have high performance requirements of any CSS library that we opt to suggest.

    We also want to make sure that the solution we provide is small, focused and offers sufficient CSS UI components to be useful to developers that want a basic, clean UI for the apps they are building.

    Libraries currently under consideration:

    Note that this is a preliminary review and any benchmarks used are nuanced and should only be used as a rough guide.

    opened by addyosmani 24
  • fixes #71 - Collaborate on multiple fixes to setup, live-reload, styling.

    fixes #71 - Collaborate on multiple fixes to setup, live-reload, styling.

    Here's a start!

    Changed:

    • Moved app/styles/sass to app/styles/components
    • Joined gulp watch and gulp serve into one task: gulp serve

    I haven't thoroughly tested yet, but what I can confirm does work:

    • Edit a app/styles/*.css file, page reloads
    • Edit a app/styles/components/.scss file, a matching app/styles/components/.css file is created, and the page reloads
    opened by stephenplusplus 22
  • Bump urijs from 1.18.4 to 1.19.11

    Bump urijs from 1.18.4 to 1.19.11

    Bumps urijs from 1.18.4 to 1.19.11.

    Release notes

    Sourced from urijs's releases.

    1.19.11 (April 3rd 2022)

    1.19.10 (March 5th 2022)

    1.19.9 (March 3rd 2022)

    1.19.8 (February 15th 2022)

    1.19.7 (July 14th 2021)

    • SECURITY fixing URI.parseQuery() to prevent overwriting __proto__ in parseQuery() - disclosed privately by @​NewEraCracker
    • SECURITY fixing URI.parse() to handle variable amounts of \ and / in scheme delimiter as Node and Browsers do - disclosed privately by ready-research via https://huntr.dev/
    • removed obsolete build tools
    • updated jQuery versions (verifying compatibility with 1.12.4, 2.2.4, 3.6.0)

    1.19.6 (February 13th 2021)

    • SECURITY fixing URI.parse() to rewrite \ in scheme delimiter to / as Node and Browsers do - disclosed privately by Yaniv Nizry from the CxSCA AppSec team at Checkmarx

    1.19.5 (December 30th 2020)

    1.19.4 (December 23rd 2020)

    1.19.3 (December 20th 2020)

    1.19.2 (October 20th 2019)

    1.19.1 (February 10th 2018)

    1.19.0 (October 1st 2017)

    1.18.12 (August 9th 2017)

    1.18.11 (August 8th 2017)

    ... (truncated)

    Changelog

    Sourced from urijs's changelog.

    1.19.11 (April 3rd 2022)

    1.19.10 (March 5th 2022)

    1.19.9 (March 3rd 2022)

    1.19.8 (February 15th 2022)

    1.19.7 (July 14th 2021)

    • SECURITY fixing URI.parseQuery() to prevent overwriting __proto__ in parseQuery() - disclosed privately by @​NewEraCracker
    • SECURITY fixing URI.parse() to handle variable amounts of \ and / in scheme delimiter as Node and Browsers do - disclosed privately by ready-research via https://huntr.dev/
    • removed obsolete build tools
    • updated jQuery versions (verifying compatibility with 1.12.4, 2.2.4, 3.6.0)

    1.19.6 (February 13th 2021)

    • SECURITY fixing URI.parse() to rewrite \ in scheme delimiter to / as Node and Browsers do - disclosed privately by Yaniv Nizry from the CxSCA AppSec team at Checkmarx

    1.19.5 (December 30th 2020)

    1.19.4 (December 23rd 2020)

    1.19.3 (December 20th 2020)

    1.19.2 (October 20th 2019)

    1.19.1 (February 10th 2018)

    ... (truncated)

    Commits
    • b655c1b chore(build): bumping to version 1.19.11
    • b0c9796 fix(parse): handle CR,LF,TAB
    • 88805fd fix(parse): handle excessive slashes in scheme-relative URLs
    • 926b2aa chore(build): bumping to version 1.19.10
    • a8166fe fix(parse): handle excessive colons in scheme delimiter
    • 01920b5 chore(build): bumping to version 1.19.9
    • 86d1052 fix(parse): remove leading whitespace
    • efae1e5 chore(build): bumping to version 1.19.8
    • 6ea641c fix(parse): case insensitive scheme - #412
    • 19e54c7 chore(build): bumping to version 1.19.7
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Can't run gulp... Someone can help me?

    Can't run gulp... Someone can help me?

    PS C:\Users\maper\Downloads\AppSalon_inicio> gulp [21:29:58] Using gulpfile ~\Downloads\AppSalon_inicio\gulpfile.js [21:29:58] Starting 'default'... [21:29:58] Starting 'css'... [21:29:58] Starting 'javascript'... [21:29:58] Starting 'imagenes'... [21:29:58] Starting 'versionWebp'... [21:29:58] Starting 'watchArchivos'... [21:30:00] 'imagenes' errored after 1.41 s [21:30:00] Error: write callback called multiple times at DestroyableTransform.afterTransform (C:\Users\maper\Downloads\AppSalon_inicio\node_modules\readable-stream\lib_stream_transform.js:84:31) at EventEmitter. (C:\Users\maper\Downloads\AppSalon_inicio\node_modules\gulp-cache\lib\index.js:451:7) at EventEmitter.emit (node:events:394:28) at EventEmitter.emit (node:domain:470:12) at DestroyableTransform.onError (C:\Users\maper\Downloads\AppSalon_inicio\node_modules\gulp-cache\lib\index.js:288:15) at Object.onceWrapper (node:events:514:26) at DestroyableTransform.emit (node:events:394:28) at DestroyableTransform.emit (node:domain:470:12) at C:\Users\maper\Downloads\AppSalon_inicio\node_modules\through2-concurrent\through2-concurrent.js:41:14 at C:\Users\maper\Downloads\AppSalon_inicio\node_modules\gulp-imagemin\index.js:102:5 [21:30:00] 'default' errored after 1.42 s

    opened by Mariano35 0
  • Bump tar from 2.2.1 to 2.2.2

    Bump tar from 2.2.1 to 2.2.2

    Bumps tar from 2.2.1 to 2.2.2.

    Commits
    • 523c5c7 2.2.2
    • 7ecef07 Bump fstream to fix hardlink overwriting vulnerability
    • 9fc84b9 Use {} for hardlink tracking instead of []
    • 15e59f1 Only track previously seen hardlinks
    • 4f85851 Ignore potentially unsafe files
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    cla: yes dependencies 
    opened by dependabot[bot] 0
  • Bump is-my-json-valid from 2.15.0 to 2.20.5

    Bump is-my-json-valid from 2.15.0 to 2.20.5

    Bumps is-my-json-valid from 2.15.0 to 2.20.5.

    Commits
    Maintainer changes

    This version was pushed to npm by linusu, a new releaser for is-my-json-valid since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    cla: yes dependencies 
    opened by dependabot[bot] 0
  • error

    error

    Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

    :memo: Please visit https://cla.developers.google.com/ to sign.

    Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.


    What to do if you already signed the CLA

    Individual signers
    Corporate signers

    ℹ️ Googlers: Go here for more info.

    Originally posted by @googlebot in https://github.com/google/.github/issues/31#issuecomment-619467429

    opened by QizorQ8 0
Releases(v0.6.5)
  • v0.6.5(Dec 13, 2016)

  • v0.6.4(Jun 19, 2016)

  • v0.6.3(Jun 2, 2016)

  • v0.6.1(Jan 15, 2016)

    This is a maintenance release of WSK bringing numerous fixes to the boilerplate. A full changelist is available.

    Highlights

    • Replace deprecated minifiers with gulp-cssnano and gulp-htmlmin
    • Updated the commands doc to explain SW differences in the sw-precache setup
    • Fix wrong location for main.js and main.css
    • Clean-up of unused node module imports
    Source code(tar.gz)
    Source code(zip)
  • v0.6.0(Dec 2, 2015)

    Since our last release we have been busily working away adding super new features to our next big update of Web Starter Kit - our boilerplate for responsive sites that want a modern front-end tooling workflow. WSK 0.6.0 is now out and can be downloaded at the end of the notes.

    Material Design

    Firstly, WSK has gone all materially and we have completely refactored our boilerplate to use Material Design Lite. The default template is our Text-Only template, which follows the Material Design Spec and is fully tested for great cross-device support. Of course you use a number of our MDL templates for inspiration or simply customise the default design to suit your own needs.

    screen shot 2015-11-24 at 11 29 46

    Should you wish to roll your own Material Design Lite custom build that works with WSK, try our MDL Sass guide.

    ES2015 via Babel

    We also have added optional ES2015/ES6 support using Babel which you can enable by removing the line "only": "gulpfile.babel.js", in the .babelrc file.Thanks to Babel, the ES2015 source code will be automatically transpiled to ES5 for wide browser support.

    We've also ES2015'ified our Gulpfile:

    screen shot 2015-12-03 at 18 41 46

    ESLint code-linting

    We now use ESLint for code linting and code-styling. ESLint is a pluggable and configurable linter tool for identifying and reporting on issues in your JavaScript. We’ve setup ESLint to use our brand new ESLint configuration for the Google JavaScript style guide, which you are free to customise further.

    // Lint JavaScript
    gulp.task('lint', () =>
      gulp.src('app/scripts/**/*.js')
        .pipe($.eslint())
        .pipe($.eslint.format())
        .pipe($.if(!browserSync.active, $.eslint.failOnError()))
    );
    

    Service Worker Pre-caching

    Offline support (basically, your site working when a network connection isn't available) is now enabled out of the box thanks to Service Workers and sw-precache. They work by intercepting network requests made from a page, returning a response retrieved from the network. Alternatively they can retrieve from a local cache, or even constructed programmatically. This allows it to be used for intelligent offline caching of your site.

    Progressive Web App Support

    “Progressive Web Apps” is an umbrella term for modern, performant web apps that cleverly take advantage of technologies like web manifest, service worker, responsive web design, etc. to provide a top-tier experience on mobile.

    Web Starter Kit has:

    2015-12-03 11_41_35

    Deployment

    If you would like to deploy your WSK project to Firebase, Google App Engine or another provider, guides are available to help you get your site pushed.

    screen shot 2015-12-09 at 09 44 52

    Lowering the entry-level for beginners

    We understand that WSK comes with a lot of tooling out of the box and this can sometimes feel a little overwhelming for beginners. This is why in WSK 0.6.0, you can get open up the app directory and serve it up using a Python server, WAMP or any local server setup already on your system. Run an npm install when you feel you're ready for the more powerful BrowserSync setup and build-time performance optimisation tools WSK includes.

    Lots of bug fixes

    Last but not least, we have added improvements to our build process, fixing a number of in minification, sourcemap generation and much more. Whether you use WSK or not, the Gulpfile remains an excellent reference for how to craft a build process with performance optimisation in mind.

    Happy coding!

    PS: If you're happy using Polymer, we also maintain Polymer Starter Kit which includes a similar set of features optimised for working with Web Components.

    Source code(tar.gz)
    Source code(zip)
    web-starter-kit-0.6.0.zip(43.68 KB)
  • v0.5.4(Mar 26, 2015)

    0.5.4 is the latest version of Web Starter Kit.

    This is a stability release contains a dependency lock for gulp-cache and gulp-minify-html, which were breaking for a number of users in our last patch release. For further information, see https://github.com/google/web-starter-kit/issues/649.

    Source code(tar.gz)
    Source code(zip)
    web-starter-kit-0.5.4.zip(743.78 KB)
  • v0.5.3(Mar 21, 2015)

  • v0.5.2(Sep 20, 2014)

    This is a minor patch release that primarily bumps our dependencies to the latest versions.

    • a4ddfca bump dependencies
    • f8cfdff gulpfile - fix indentation
    • a50b72c bump gulp-autoprefixer
    • 0def5a8 Use correct ordering in installation instructions
    Source code(tar.gz)
    Source code(zip)
  • v0.5.1(Sep 3, 2014)

    This patch releases includes a few minor fixes and improvements since we launched 0.5.0.

    The most significant change is a fix made upstream in gulp-cache that restores full functionality to the build process for a set of users who were experiencing issues.

    If you previously downloaded 0.5.0, please update to this version. The main thing you'll want to update is your package.json file followed by an npm install.

    • 093624f Update to latest gulp-cache.
    • c0a2e94 Simplify server configuration - remove 'baseDir'
    • c838e01 code consistency
    • 8ee6ed2 minify SVG
    • 30ef084 minify chrome-touch-icon-192x192.png
    Source code(tar.gz)
    Source code(zip)
    web-starter-kit-0.5.1.zip(743.68 KB)
  • v0.5.0(Aug 28, 2014)

    Today we’re happy to announce Web Starter Kit 0.5.0 - go download it!. This version includes some significant improvements which we’ll walk through below.

    The Big Stuff

    Correct touch-icons for all browsers

    Chrome for Android

    We spent time talking to Chrome engineers and discovered that Chrome for Android actually supports a homescreen icon size up to 192x192, which was not previously documented. We’ve updated the official Android docs to reflect this and following suit, both WSK and HTML5 Boilerplate now recommend this size option. You'll get the correct icon sizes with both basic.html and index.html per below.

    image alt text

    iOS, FirefoxOS and beyond.

    We’ve also verified that our current icon sizes work well on iOS, Windows Phone and FirefoxOS. It looks particularly lovely on Opera Coast ; )

    Extended cross-browser support

    Users targeting IE10 and above can use index.html (with our default layout) as a starting point. Those targeting IE8+ can use basic.html. Both options will work with all our tooling, including cross-device reload via BrowserSync.

    That means you'll get all the goodness of cross-device sync for clicks, scrolling and more - even for IE8! Here's Matt trying it out on a few real devices:

    image alt text

    We’ve also verified that if you’re doing any cross-browser testing with BrowserStack’s local setup, you can edit during gulp serve and live-reload directly inside of a BrowserStack VM.

    This is crazy awesome. image alt text

    Simpler styles and a simpler build file.

    Build blocks are no longer used to concatenate and minify CSS, instead Sass includes the styles needed for a page.

    With this we’ve been able to simplify the build and go from three tasks to one. To begin customizing the WSK styles, start editing the *.scss files in app/styles.

    A strong PageSpeed baseline

    Users of basic.html are used to getting a near-perfect PageSpeed Insights score out of the box, but now users of our default layout will also enjoy a great score too. 0.5.0 gets 90/100 for the Insights mobile tests and 97/100 on desktop.

    image alt text

    Docs beside your sources & htaccess

    Thanks to our increased collaboration with HTML5 Boilerplate maintainer @alrra, we now include the latest H5BP .htaccess file for you as part of our copy task.

    We also now have an inline docs directory (thanks to @Garbee) as part of the kit. We hope to expand the docs to include more information on customization and configuration in the next release. image alt text

    Material Design color-palette

    Thanks to the handy variables stored in _palette.scss file, you can use material design color definitions in your scss style rules.

    This is the first piece of a larger body of work we’re doing to implement Material Design styles and components for Web Starter Kit. Catch our notes later for more. image alt text

    Numerous bug fixes and little differences that matter

    A large number of stability fixes have been made to both our layout and tooling. Fixes include a more consistent look/feel on iOS, correctly compiling Sass you add in on serve, fixes to edge-cases around image minification & CSS removal, a clean-up of our CSS and more.

    Lint code-style rules with JSCS

    We love the idea of code style-guides and have enjoyed using JSCS for a while now. You can use it as an optional editor plugin (available for Atom, Sublime) for hinting if some code we’ve written doesn’t match your style guide.

    This release includes a delete-key friendly JSCS config.file that lints your code against the Google JavaScript style guide. You can easily switch it out for any of a number of options, but we think you’ll enjoy using it as much as we do. image alt text

    Web Starter Kit Extras

    We have a new repo for optional additions to WSK, such as web server configurations. We used HTML5 Boilerplate’s server-configs content as a starting point - Apache, GAE, Nginx, Node.js specifically - and are hoping to contribute back with improvements to benefit both H5BP and WSK projects where possible. Particularly interesting contributions we'd love to see are static hosting in the cloud using Amazon S3 and Google Cloud Storage.

    The Future

    As mentioned, our team is working on a version of Web Starter Kit that is compatible with Google’s Material Design guidelines. This includes styles and light, accessible components for things like the FAB button, sliders and progress bars. A sneak peak of this work can be seen below, but we’ll have more to show in the next WSK release:

    <button>s with the Material Design ripple effect:

    image alt text

    Toggle boxes:

    image alt text

    CodeKit support

    We are happy to share that CodeKit 2.1 now includes support for starting projects using WSK. You can create projects straight from the File menu and you’ll always get the latest version in master.

    image alt text

    For more information, read the official CodeKit docs: http://incident57.com/codekit/help.html#web-starter-kit

    Get started

    If you’d like to know more about Web Starter Kit, please read our Getting Started Guide.

    Thank you!

    As always, a huge thank you goes out to all of our amazing contributors without who this release would not be possible.

    ~ Released with ♥ by Addy, Matt, Sindre, Ewa, Alex & the team.

    Source code(tar.gz)
    Source code(zip)
    web-starter-kit-0.5.0.zip(751.71 KB)
  • v0.4.0(Jul 8, 2014)

    We're happy to announce a fresh release of Web Starter Kit 0.4.0 is available today. Thanks to everyone in the community that contributed. The full changelog is available and we'll talk about the major changes below.

    Workflow improvements for Sass & CSS

    In previous versions, errors you made in your Sass files would cause the serve command to throw an error and exit until you fixed the breaking change. In 0.4, we now output the line number and information about the error but your watch/serve won't break. Instead, it will keep working and take account of your fixed up styles when you've addressed the mistake.

    Our Autoprefixer setup is now more centralized, giving you greater control over the browsers you would like to support. By default we've already filled this information out for you based on what we target, but you can customize it as needed.

    We've also improved our unused CSS removal to account for all selectors used in the sidebar menu and also ensure that styles are correctly minified cross platform.

    Layout improvements

    A number of cross-browser layout issues in both Firefox and IE have been addressed in this release.

    In 0.4, we've also dropped our use of `min-device-width as the deciding factor for the type of navigation experience you get. Whilst this previously let us target different types of screens, it resulted in a number of inconsistency issues for users with large numbers of menu items.

    For narrow viewports, we now consistently fallback to the hamburger menu whether you're on desktop or tablet. As a side effect, this will make it easier to test your responsive layout as you won't need to turn on DevTools Emulation or Firefox Responsive Mode to test your viewports.

    Hello Roboto and a fonts task

    We now include a checked in version of all Roboto webfonts used in Web Starter Kit and a fonts task for copying over fonts dropped into the app/fonts directory to your dist folder.

    Having reviewed the overall complexity of what our previous Google Fonts setup was pulling in from the CDN, we discovered that our target browsers required a much simpler setup. As part of this we decided to locally include a check-in of our fonts with direct references to what you need.

    Serve your production builds

    A new gulp serve:dist command has been added that uses the dist build process to serve you a production version of your application from the dist directory.

    Thanks. Keep filing bugs and even better..pull requests :D

    We have some big ambitions for Web Starter Kit over the next 6 months including a move to Google's Material Design Spec, improved simplicity in our build file and more choices for layout. Stay tuned and if you have time, feel free to chip in on a few issues. We could always use the help :)

    Source code(tar.gz)
    Source code(zip)
  • v0.3.1(Jun 30, 2014)

  • v0.3.0(Jun 24, 2014)

  • v0.2.0-beta(Jun 20, 2014)

Owner
Google
Google ❤️ Open Source
Google
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Node-cli-starter - Basic starter kit for building Node CLI applications with TypeScript.

node-cli-starter Minimal starter kit for building Node CLI applications with TypeScript. Getting Started To get started clone repo locally and run npm

Cory Rylan 7 May 17, 2022
Workflow to re-trigger workflow of all open PRs when base updates

Workflow to re-trigger workflow of all open PRs when base updates

James Tan 4 Aug 28, 2022
A GitHub app to report failed workflow job actions and notify pull request creator with custom report message for the failed workflow job.

Workflow Reporter A GitHub App built with Probot that reports failed workflow job actions and notify the pull request creator with custom report messa

Divyanshu Shekhar 14 Nov 12, 2022
A web component that allows you to run high level programming languages on your websites (static websites included!)

Code-Runner-Web-Component A web component that allows you to run high level programming languages on your website via the public Piston API Show your

Marketing Pipeline 28 Dec 16, 2022
Device.js is a JavaScript library to detect device, viewport, and browser information using plain JavaScript.

Device.js Device.js is a JavaScript library to detect device, viewport, and browser information using plain JavaScript. Compatibility Works with all m

Emanuel R. Vásquez 5 Dec 16, 2022
Opiniated Eleventy starter based on the workflow suggested by Andy Bell's

Eleventy starter Very opiniated Eleventy starter based on the workflow suggested by Andy Bell's https://buildexcellentwebsit.es/. Eleventy starter Pre

Lene Saile 71 Dec 31, 2022
Script WhatsApp Bot Multi Device

KIKI VZ Script WhatsApp Bot Multi Device NOTE This Script is for everyone, not for Sale vraabot-MD This is Script of WhatsApp multi device, working wi

kiki vz. 4 Nov 2, 2022
Mirror from https://github.com/BochilGaming/games-wabot/tree/multi-device

Games-Wabot Join Group Diskusi NO BOT Deploy to Heroku Heroku Buildpack BuildPack LINK FFMPEG here IMAGEMAGICK here FOR TERMUX USER Type mentioned bel

null 48 Dec 20, 2022
Whatsapp BOT Multi Device menggunakan module baileys-md. Give this repo a star 🌠⭐🌟

README English Version • About • Installation • Thanks to • Donate Official Group Bot • Settings About Anon-BOT adalah pengembangan sourcecode yang be

Iqbal Hidayat Syahril 11 Sep 26, 2022
A jQuery Single/Multi Select plugin which can be used on almost any device

jquery.sumoselect jquery.sumoselect.js - A beautiful cross device Single/Multi Select jQuery Select plugin. A jQuery plugin that progressively enhance

Hemant Negi 537 Dec 7, 2022
World Best Multi-device Whatsapp Bot. Created by Vihanga-YT

By Vihanga YT| © | Reserved ASTRO-BOT-MD-V1.0 TOTAL REPO VIEWS ?? [©] AstroBot-MD New Features > Playstore Apk Downloder [.downapk] > Playstore Apk

Vihanga - YT 208 Jan 7, 2023
proxy 🦄 yxorp is your Web Proxy as a Service (SAAS) Multi-tenant, Multi-Threaded, with Cache & Article Spinner

proxy ?? yxorp is your Web Proxy as a Service (SAAS) Multi-tenant, Multi-Threaded, with Cache & Article Spinner. Batteries are included, Content Spinning and Caching Engine, all housed within a stunning web GUI. A unique high-performance, plug-and-play, multi-threaded website mirror and article spinner

4D/ҵ.com Dashboards 13 Dec 30, 2022
Fully dockered starter kit for Elm with Hasura

elm-hasura-dockered This repo contains a Elm-Hasura starter kit for rapid+typesafe web application development on open source foundations. Elm is grea

Cies Breijs 41 Dec 9, 2022
This repository serves as a starter kit for doing simple TDD exercise

This repository serves as a starter kit for doing simple TDD exercise

adylanrff 3 Feb 19, 2022
Remix starter kit with Tailwind CSS family of libraries: Headless UI, Radix UI, VechaiUI, daisyUI, and more

Remix Tailwind Starter Kit Remix starter kit with Tailwind CSS v3 family of libraries. Example demo to combine the best Tailwind-related ecosystem suc

M Haidar Hanif 80 Dec 18, 2022
A starter kit for beginners to obsidian

This is a starter kit for beginners to obsidian. It is a simplified version of my vault with my daily and weekly note templates, the folder structure for my periodic notes (daily, weekly, monthly etc) and the plugin settings I use.

Pamela Wang 53 Dec 21, 2022
⏪ Rewinds – Remix Tailwind Starter Kit with Tailwind CSS, Headless UI, Radix UI, and more

⏪ Rewinds – Remix Tailwind Starter Kit Rewinds is a Remix starter kit with Tailwind CSS v3 family of libraries. This is an example demo to combine the

M Haidar Hanif 81 Dec 24, 2022