Code Monkey home page Code Monkey logo

pagespeed-inslides's Introduction

PageSpeed InSlides

✏️ Description:

The PageSpeed InSlides tool, which—as the name suggests (not a typo, think "PageSpeed, but in slides") —lifts the output from the PageSpeed Insights API and creates an interactive HTML5 slide deck for you, on the fly. The target audience is technical, for example, front-end engineers and webmasters, this is not meant as an introductory pitch deck. Also, the decks are designed for desktop, to be shown in full screen mode, ideally on a projector.

Please note: this is not an official Google product.

🖥 Screenshots:

Input form with various options:

Input Form

Slide examples:

Title Slide

Screenshot Slide

Waterfall Diagram Slide

Optimization Slide

📚 Instruction Manual:

The features of the PageSpeed InSlides tool are described in the manual (PDF).

🔥 Demo:

Navigate to this demo deck, then navigate in the slides with the arrow keys ⬅️ ➡️). Please note that this demo is not generated live, but an archived older version.

⚙️ Setup:

Get an API key and activate the necessary APIs in the Google Developer Console:

Then rename the dot_env file in the repository to .env and paste the API key in.

Now you are good to go and launch the tool via npm run start.

🔨 Usage:

Open the form at localhost:3000/ and simply enter a URL, optionally change any of the other fields.

As an alternative, the user interface is also accessible in form of a hackable URL 😎. Just replace the highlighted parts as explained below: http://localhost:3000/slides?screenshot=true&locale=en&strategy=mobile&url=https://blog.google/

  • &locale=en → Any of the language codes supported by the API.
  • &strategy=mobile → Either "desktop" or "mobile".
  • &url=https://blog.google/ → Any URL that is publicly available.
  • &screenshot=true → Whether or not to include a screenshot, either "true" or "false".
  • &filterThirdPartyResources=false → Whether or not to filter out many third-party resources, either "true" or "false".
  • &mobileFriendlyTest=false → Whether or not to run a mobile-friendly test, either "true" or "false".

📧 Contact:

Thomas Steiner ([email protected])

📄 License:

Copyright 2017 Google

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

pagespeed-inslides's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pagespeed-inslides's Issues

PageSpeed InSlides Error

Hi,
I am facing with API error when I try to analyze a URL. I am using only page speed insights API key.
The API works well with an another page speed insight project that I am working on.
Thanks for the help,
screenshot_1dot

)

Pug compile issues after fix

Hi Thomas,

Not sure if you want this as a new issue or not. But here goes.

Got this when I tried it now

Process:

Git pull
npm run start
C:\github\pagespeed-inslides>npm run start

[email protected] start C:\github\pagespeed-inslides
node index.js

PageSpeed InSlides™ running at http://:::3000
From Phantom.js (console.log): Running extractor
From Phantom.js (phantomCallback): type object
warn: exit() was called before waiting for commands to finish. Make sure you are not calling exit() prematurely.
HTML5 slides Pug template successfully written
https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=https%3A%2F%2Fwww.db.no&filter_third_party_resources=false&locale=en&screenshot=true&strategy=mobile&key=AIzaSyCYRWl02bU7CA2-eGKQ4m6v40Nlrvu0oVI
Error: C:\github\pagespeed-inslides\views\dynamic.pug:9:1

Unexpected block slides
at makeError (C:\github\pagespeed-inslides\node_modules\pug-error\index.js:32:13)
at error (C:\github\pagespeed-inslides\node_modules\pug-linker\index.js:7:30)
at C:\github\pagespeed-inslides\node_modules\pug-linker\index.js:47:9
at Array.forEach (native)
at link (C:\github\pagespeed-inslides\node_modules\pug-linker\index.js:45:20)
at compileBody (C:\github\pagespeed-inslides\node_modules\pug\lib\index.js:170:9)
at Object.exports.compile (C:\github\pagespeed-inslides\node_modules\pug\lib\index.js:242:16)
at handleTemplateCache (C:\github\pagespeed-inslides\node_modules\pug\lib\index.js:215:25)
at Object.exports.renderFile (C:\github\pagespeed-inslides\node_modules\pug\lib\index.js:427:10)
at Object.exports.renderFile (C:\github\pagespeed-inslides\node_modules\pug\lib\index.js:417:21)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.