All Projects → roxiness → spank

roxiness / spank

Licence: other
Slap the pages out of a SPA

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to spank

React Firebase Starter
Boilerplate (seed) project for creating web apps with React.js, GraphQL.js and Relay
Stars: ✭ 4,366 (+8632%)
Mutual labels:  spa, ssr
Quench Vue
Simple, client-side hydration of pre-rendered Vue.js apps
Stars: ✭ 71 (+42%)
Mutual labels:  spa, ssr
Awes Io
Awes.io // boilerplate based on Vue, Nuxt, TailwindCSS plus Laravel as a backend. 🤟
Stars: ✭ 599 (+1098%)
Mutual labels:  spa, ssr
React Storefront
React Storefront - PWA for eCommerce. 100% offline, platform agnostic, headless, Magento 2 supported. Always Open Source, Apache-2.0 license. Join us as contributor ([email protected]).
Stars: ✭ 292 (+484%)
Mutual labels:  spa, ssr
Universal Router
A simple middleware-style router for isomorphic JavaScript web apps
Stars: ✭ 1,598 (+3096%)
Mutual labels:  spa, ssr
Vue Video Player
🎞 @videojs component for @vuejs
Stars: ✭ 4,026 (+7952%)
Mutual labels:  spa, ssr
Laravel Vuejs.com
Laravel and VueJs Blog, using Laravel nova, GraphQL, NuxtJs, Apollo and ...more
Stars: ✭ 54 (+8%)
Mutual labels:  spa, ssr
prax
Experimental rendering library geared towards hybrid SSR+SPA apps. Focus on radical simplicity and performance. Tiny and dependency-free.
Stars: ✭ 18 (-64%)
Mutual labels:  spa, ssr
Award
⚙基于react的服务端渲染框架
Stars: ✭ 91 (+82%)
Mutual labels:  spa, ssr
Preact Redux Isomorphic
preact-redux-isomorphic PWA SPA SSR best practices and libraries in under 80kB page size (for live demo click the link below)
Stars: ✭ 85 (+70%)
Mutual labels:  spa, ssr
Ssr Sample
A minimum sample of Server-Side-Rendering, Single-Page-Application and Progressive Web App
Stars: ✭ 285 (+470%)
Mutual labels:  spa, ssr
Rendora
dynamic server-side rendering using headless Chrome to effortlessly solve the SEO problem for modern javascript websites
Stars: ✭ 1,853 (+3606%)
Mutual labels:  spa, ssr
React Storefront
Build and deploy e-commerce progressive web apps (PWAs) in record time.
Stars: ✭ 275 (+450%)
Mutual labels:  spa, ssr
Miox
Modern infrastructure of complex SPA
Stars: ✭ 374 (+648%)
Mutual labels:  spa, ssr
Ice
🚀 The Progressive App Framework Based On React(基于 React 的渐进式应用框架)
Stars: ✭ 16,961 (+33822%)
Mutual labels:  spa, ssr
Laravel Nuxt
A Laravel-Nuxt starter kit.
Stars: ✭ 943 (+1786%)
Mutual labels:  spa, ssr
Vue Horizontal
An ultra simple pure vue horizontal layout for modern responsive web with zero dependencies. (SPA/SSG/SSR)
Stars: ✭ 75 (+50%)
Mutual labels:  spa, ssr
Svelte Navigator
Simple, accessible routing for Svelte
Stars: ✭ 125 (+150%)
Mutual labels:  spa, ssr
personal-website
Personal website – made with Next.js, Preact, MDX, RMWC, & Vercel
Stars: ✭ 16 (-68%)
Mutual labels:  spa, ssr
vue-mapfit
A SSR compatible vue component which provides a Maps View with Mapfit
Stars: ✭ 12 (-76%)
Mutual labels:  ssr
spank

Static Site Generator (SSG)

Exports HTML pages from your SPA

Usage

//spank.config.js
module.exports = {
  sitemap: 'path/to/a-list-of-urls.json',
  template: 'dist/__index.html',
  script: 'dist/main.js',
  outputDir: 'dist'
}

open your terminal and type

npx spank
Note

spank can also be used without a config. Use npx spank --help for parameters.


Config options

prop default description
sitemap .js or .json file with a list of relative paths. Eg. ['/', '/about', '/contact']
template dist/__app.html path to the HTML template to render the SPA in. Often static/index.html
script dist/build/bundle.js Path to the app script. Often dist/build/bundle.js or dist/build/main.js
outputDir dist Folder to save HTML files to.
forceIndex false Write /about to about/index.html instead of about.html
inlineDynamicImports false Required if app uses dynamic imports
concurrently 3 Max simultaneous running jobs
eventName If specified, HTMLs aren't saved till the page has emitted the event.
host http://jsdom.ssr Simulated host
blacklist [] List of paths to be ignored. Regular expressions are supported when using spank.config.js
depth 2 How far to crawl any path in the sitemap
ssrOptions {} Options to be passed to tossr

How does it work?

For each path in the sitemap, Spank creates a corresponding SPA in a simulated browser. Spank will crawl pages in the sitemap as far as depth is set. The HTML for each page is then saved to the output folder.


routify
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].