pupperender - ExpressJs middleware for rendering PWA to bots using Puppeteer.

  •        244

This is a middleware for ExpressJs that uses Puppeter for render the page requested by "indexing" bots (and not). This is a fork of the rendertron-middleware but using Puppeter instead of Rendertron, without needing another server to render the app. I have made some changes for my personal use (like removing the inject ShadyDOM option).

https://github.com/LasaleFamine/pupperender

Dependencies:

puppeteer : 1.9.0

Tags
Implementation
License
Platform

   




Related Projects

rendertron - A dockerized, headless Chrome rendering solution

  •    Javascript

Rendertron is a dockerized, headless Chrome rendering solution designed to render & serialise web pages on the fly. Rendertron is designed to enable your Progressive Web App (PWA) to serve the correct content to any bot that doesn't render or execute JavaScript. Rendertron runs as a standalone HTTP server. Rendertron renders requested pages using Headless Chrome, auto-detecting when your PWA has completed loading and serializes the response back to the original request. To use Rendertron, your application configures middleware to determine whether to proxy a request to Rendertron. Rendertron is compatible with all client side technologies, including web components.

rendora - dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites

  •    Go

Rendora can be seen as a reverse HTTP proxy server sitting between your backend server (e.g. Node.js/Express.js, Python/Django, etc...) and potentially your frontend proxy server (e.g. nginx, traefik, apache, etc...) or even directly to the outside world that does actually nothing but transporting requests and responses as they are except when it detects whitelisted requests according to the config. In that case, Rendora instructs a headless Chrome instance to request and render the corresponding page and then return the server-side rendered page back to the client (i.e. the frontend proxy server or the outside world). This simple functionality makes Rendora a powerful dynamic renderer without actually changing anything in both frontend and backend code. Dynamic rendering means that the server provides server-side rendered HTML to web crawlers such as GoogleBot and BingBot and at the same time provides the typical initial HTML to normal users in order to be rendered at the client side. Dynamic rendering is meant to improve SEO for websites written in modern javascript frameworks like React, Vue, Angular, etc...

Venom - The more complete Javascript library for WhatsApp

  •    Javascript

Venom is a high-performance system developed with JavaScript to create a bot for WhatsApp, support for creating any interaction, such as customer service, media sending, sentence recognition based on artificial intelligence and all types of design architecture for WhatsApp. Its feature include Automatic QR Refresh, Send stickers, contacts, text, image, video, audio and docs, Send and Forward Messages, Send location and much more.


prerender-spa-plugin - Prerenders static HTML in a single-page application.

  •    Javascript

Flexible, framework-agnostic static site generation for sites and SPAs built with webpack. 👉 This is the stable 3.x version of prerender-spa-plugin based on puppeteer. If you're looking for the (now-deprecated) 2.x version, based on PhantomJS, take a look at the v2 branch.

render - Martini middleware/handler for easily rendering serialized JSON, XML, and HTML template responses

  •    Go

Martini middleware/handler for easily rendering serialized JSON, XML, and HTML template responses. render uses Go's html/template package to render html templates.

Botkit - Building Blocks for Building Bots

  •    Javascript

Botkit is the leading developer tool for building chat bots, apps and custom integrations for major messaging platforms. Botkit works with all the NLP services (like Microsoft LUIS and IBM Watson), can use any type of database you want, and runs on almost any hosting platform.

instagram-bot.js - 🤖 :camera: Instagram Bot made with love and nodejs

  •    Smarty

If you received an SMS or an email pin edit loginpin.txt and insert it on the first line. Wait 50-60 seconds... Edit configs/config.js and switch chrome_headless option to true.

whatsapp-web.js - A WhatsApp client library for NodeJS that connects through the WhatsApp Web browser app

  •    Javascript

A WhatsApp API client that connects through the WhatsApp Web browser app. It uses Puppeteer to run a real instance of Whatsapp Web to avoid getting blocked.

rapscallion - Asynchronous React VirtualDOM renderer for SSR.

  •    Javascript

This function returns a Renderer, an interface for rendering your VirtualDOM element. Methods are enumerated below.This function evaluates the React VirtualDOM Element originally provided to the renderer, and returns a Promise that resolves to the component's evaluated HTML string.

Tomato Renderer

  •    

Tomato renderer is an XNA-based rendering engine. - Light pre-pass (a.k.a. deferred lighting) rendering. - Filmic tone-mapping. - Scene-graph based object system.

Telegraf - Telegram bot framework for Node.js

  •    Typescript

Telegraf is a library that makes it simple for you to develop your own Telegram bots using JavaScript or TypeScript. Bots are special Telegram accounts designed to handle messages automatically. Users can interact with bots by sending them command messages in private or group chats. These accounts serve as an interface for code running somewhere on your server.

vue-wordpress-pwa - An offline-first SPA using Vue

  •    Javascript

This is the code for the FullStackWeekly website. You can use it as a starter pack for your WordPress site as well. Since WordPress can expose a REST API, this project uses Vue.js, Vue-router, Vuex, Vue-resource & Progressive Web App techniques to create an offline-first web client.

Puppeteer - Headless Chrome Node API

  •    Javascript

Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. Puppeteer runs headless by default, but can be configured to run full (non-headless) Chrome or Chromium. Most things that you can do manually in the browser can be done using Puppeteer! For example you can generate screenshots and PDFs of pages, Crawl a SPA (Single-Page Application) and generate pre-rendered content, Automate form submission, UI testing, keyboard input, etc.

universal-redux - An npm package that lets you jump right into coding React and Redux with universal (isomorphic) rendering

  •    Javascript

Universal Redux is an npm package that when used as a dependency in your project provides a universal (isomorphic) rendering server. You can either use its defaults and begin coding your project, or configure it to your liking with custom Webpack options and Express or Redux middleware. It's intended as both an easy starting point for developers new to React and Redux, as well as an extensible base by which advanced developers can augment with their own middleware and keep up to date with the fast-moving React ecosystem. The quickest way to get started is to clone the starter project. This gives you a base project that is set up with default configurations of Webpack and Express.

Rax - A universal React-compatible render engine

  •    Javascript

A universal React-compatible render engine. Rax is a universal JavaScript library with a largely React-compatible API. If you use React, you already know how to use Rax. Its features include zero configuration, Progressive Web App(PWA), Server-Side Rendering(SSR) and Function as a service(FaaS) can be used out of the box.

express-gateway - A microservices API Gateway built on top of ExpressJS

  •    Javascript

Express Gateway is an API Gateway that sits at the heart of any microservices architecture, regardless of what language or platform you're using. Express Gateway secures your microservices and exposes them through APIs using Node.js, ExpressJS and Express middleware. Developing microservices, orchestrating and managing them now can be done insanely fast all on one seamless platform without having to introduce additional infrastructure. Express Gateway is commerically supported LunchBadger. For more information about support plans please contact info@express-gateway.io.

hypernova - A service for server-side rendering your JavaScript views

  •    Javascript

First and foremost, server-side rendering is a better user experience compared to just client-side rendering. The user gets the content faster, the webpage is more accessible when JS fails or is disabled, and search engines have an easier time indexing it.Secondly, it provides a better developer experience. Writing the same markup twice both on the server in your preferred templating library and in JavaScript can be tedious and hard to maintain. Hypernova lets you write all of your view code in a single place without having to sacrifice the user‘s experience.