Turn any dynamic website (especially wordpress) into a fast, secure, stable static site

Overview

Static site publisher

Turn any dynamic website (especially wordpress) into a fast, secure, stable static site

  1. Reduced complexity - no need to run simply static plugin. No need to preview
  2. Better control - you can now configure redirects to fix problematic URLs right there.
  3. Better security - only select people can publish the site. Only a set of people can preview not-yet-published contents.
  4. Scheduled publishing

Features

  • Google Firebase for static site hosting/publishing, with local preview using Google's SuperStatic webserver.
  • Google OAUTH for authentication
  • Custom publishing to CloudFront or a folder via custom server-side commands. For example you can run post processing code by including the following in config.json; "code":"sed -i 's|<loc>/|<loc>https://site.com/|;s|<image:loc><!\\[CDATA\\[/|<image:loc><!\\[CDATA\\[https://site.com/|' /sitemaps/*.xml; rsync -av --checksum --delete /static/ /public/", See the end of controller.js for more details,

Setup

  • Create a config.json configuration file. The sample is in config.sample.json
  • Create OAuth credentials with https://server.io/callback URL, enable People API.
  • Create a firebase hosting project and tie it to GCP
  • Create a firebase service account in the IAM/Service accounts page on GCP (firebase is tied to GCP through the "blaze" subscription)
  • Click on the firebase admin service account actions then create key. and save the contents of the downloaded json into the config.json as a "firebase":{ ... } object

Running locally

`docker run --rm -it -e DEBUG=publicator:* -v $PWD/config.json:/root/.config/configstore/publicator.json:ro -v $PWD/superstatic/firebase.json:/publicator/superstatic/firebase.json -v $PWD/superstatic/firebase.schema.json:/publicator/superstatic/firebase.schema.json -v $PWD/superstatic/scraper.schema.json:/publicator/superstatic/scraper.schema.json -p 8080:8080 -p 3474:3474 alexivkin/publicator

Running in Kubernetes

See this file

Running natively

  1. Install NodeJS 14.4+
  2. Run npm install
  3. Register the app with the Google OAuth (see the "setup" section)
  4. Create the configuration file .config/configstore/publicator.json
  5. Now run it as node server.js

Using

  • Login to the publisher
  • First click "generate" to create static copy of wordpress
  • If you want, click "preview" to check the result. Once you are comfortable with the result then click "publish" to make it public.
  • To schedule the whole process at a different time use the "date time picker form" or enter date/time manually and click "schedule publishing". The static site generation and publishing of the site will be done at that date. You can close your browser.

References

You might also like...

A web tool for you to record your face and turn it into a 3D animation file.

A web tool for you to record your face and turn it into a 3D animation file.

Web Face Capture A free, open-source web tool for you to record your face and turn it into a 3D animation file. Go to the website Allow camera permisi

Jan 6, 2023

✨ An IRL tokenization platform to turn your hopes, dreams, and desires into fundable NFTs on the Polygon blockchain using Chainlink, IPFS, Moralis, and NFT.Storage.

✨ An IRL tokenization platform to turn your hopes, dreams, and desires into fundable NFTs on the Polygon blockchain using Chainlink, IPFS, Moralis, and NFT.Storage.

GoFundYourself Getting funding for your passion project, needs or dream doesn't have to be a nightmare! check out our live demo on Netlify Let's Fundi

Dec 6, 2022

A JavaScript plugin to turn many images into a gif

A JavaScript plugin to turn many images into a gif

GiffyImages A JavaScript plugin to turn many elements images into a gif magically. Preview Getting started npm i giffy-images -D or yarn add giffy-im

Nov 6, 2021

Turn queries into easy-to-use tools your teammates can share.

Turn queries into easy-to-use tools your teammates can share.

Turn queries into easy-to-use tools your teammates can share. Parameterize! Visualize! Collaboratize?! qwaver links: Latest Build •Use Cases • Help! •

Nov 3, 2022

Component oriented framework with Virtual dom (fast, stable, with tooling)

Component oriented framework with Virtual dom (fast, stable, with tooling)

Bobril Main site bobril.com Changelog of npm version: https://github.com/Bobris/Bobril/blob/master/CHANGELOG.md Component oriented framework inspired

Dec 4, 2022

Gofiber with NextJS Static HTML is a small Go program to showcase for bundling a static HTML export of a Next.js app

Gofiber and NextJS Static HTML Gofiber with NextJS Static HTML is a small Go program to showcase for bundling a static HTML export of a Next.js app. R

Jan 22, 2022

Dynamic-web-development - Dynamic web development used CSS and HTML

Dynamic-web-development - Dynamic web development used CSS and HTML

Dynamic-web-development ASSISNMENT I just used CSS and HTML to make a mobile int

Feb 8, 2022

dynamic-component-app is an angular application for dynamic component template creation

MyApp This project was generated with Angular CLI version 14.1.0. Development server Run ng serve for a dev server. Navigate to http://localhost:4200/

Aug 26, 2022

⚡ A blazing fast, lightweight, and open source comment system for your static website, blogs powered by Supabase

⚡ A blazing fast, lightweight, and open source comment system for your static website, blogs powered by Supabase

SupaComments ⚡ A blazing fast, lightweight, and open source comment system for your static website, blogs 🚀 Demo You can visit the Below demo blog po

Dec 27, 2022
Owner
Alex Ivkin
Alex Ivkin
✏️ A small jQuery extension to turn a static HTML table into an editable one. For quickly populating a small table with JSON data, letting the user modify it with validation, and then getting JSON data back out.

jquery-editable-table A small jQuery extension to turn an HTML table editable for fast data entry and validation Demo ?? https://jsfiddle.net/torrobin

Tor 7 Jul 31, 2022
A front end GUI for interacting with the Stable Horde / Stable Diffusion distributed cluster

ArtBot for Stable Diffusion See it in action: https://tinybots.net/artbot ArtBot is a front-end GUI for generating images and photos with Stable Diffu

Dave Schumaker 39 Jan 2, 2023
Deploy WordPress plugin and theme to the wordpress.org plugin directory.

wp-deployer Deploy WordPress plugin and theme to the wordpress.org plugin directory. Install npm install --save-dev wp-deployer Settings slug : Plugin

Nilambar Sharma 5 Sep 6, 2022
Windmill: Open-source platform and runtime to turn any scripts into internal apps, integrations and workflows

. Open-source and self-hostable alternative to Airplane, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs to trigger flows and

Windmill Labs, Inc 1.6k Jan 4, 2023
Playful and Colorful One-Page portfolio featuring Parallax effects and animations. Especially designers and/or photographers will love this theme! Built with MDX and Theme UI.

Gatsby Starter Portfolio: Cara Playful and Colorful One-Page portfolio featuring Parallax effects and animations. Using the Gatsby Theme @lekoarts/gat

prashanth s 1 Dec 24, 2021
A tiny, fast and fun static site generator for quick blogging

1POST A tiny, fast and fun static site generator for quick blogging. 1POST is written entirely in NodeJS and has no dependencies. You can install as a

Felippe Regazio 141 Dec 5, 2022
A dashboard for managing orders and inventory for a wordpress e-commerce site which has woo commerce plugin installed

WordPressWooCommerceDashboard - A dashboard for managing orders and inventory for a wordpress e-commerce site which has woo commerce plugin installed. This program provides shipping tracking for Delhivery.

Vikrama Reddy 1 Jan 3, 2022
Custom Gutenburg blocks to add custom functionalities to your WordPress site. Brought to you by Arif Khan with <3

Gutpress(WordPress Gutenburg Block Plugin) Custom Gutenburg blocks to add custom functionalities to your WordPress site. Brought to you by Arif Khan w

Arif Khan 4 Nov 23, 2022
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022
A crawler that crawls the site's internal links, fetching information of interest to any SEO specialist to perform appropriate analysis on the site.

Overview ?? It is a module that crawls sites and extracts basic information on any web page of interest to site owners in general, and SEO specialists

Yazan Zoghbi 2 Apr 22, 2022