Giter Site home page Giter Site logo

elementor / wp2static Goto Github PK

View Code? Open in Web Editor NEW
1.4K 1.4K 253.0 20.15 MB

WordPress static site generator for security, performance and cost benefits

Home Page: https://wp2static.com

License: The Unlicense

Shell 0.64% PHP 94.98% Nix 1.47% Clojure 2.42% Emacs Lisp 0.01% CSS 0.14% JavaScript 0.33%
github-page netlify security static-site-generator wordpress wordpress-plugin

wp2static's Introduction

Elementor Website Builder

Welcome to the Elementor GitHub repository!

Elementor is the most advanced front-end drag-and-drop website builder. Create high-end, pixel-perfect websites at record speeds. Build any theme, any page, and any design with no code.


Elementor Website Builder


Introducing a WordPress website builder with no limits of design. A website builder that delivers high-end page designs and advanced capabilities never before seen on WordPress.

It's time for Elementor Website Builder.

The leading website builder for any purpose

Whether you are a web designer looking for a way to achieve pixel-perfect websites, a marketer looking to get online fast, or a developer who wants to expand their capabilities, Elementor's website builder has what you need - intuitive drag-and-drop Editor, advanced design features and a complete open-source approach.

There are many other features to help you build better websites. Join the elite web professionals who enjoy Elementor Pro!

Elementor Roadmap

Discover what's Next in Elementor. Visit the Elementor Roadmap and learn about the status of upcoming or newly-released features.

Developer API

Elementor website builder is free and open source. It's the perfect plugin to extend and integrate further. It was envisioned with the developer in mind, and we have already seen some truly remarkable addons created by many skilled developers.

To help you get started and learn just how to integrate with Elementor, we have created the official Elementor Developers Center.

Check the Developers Blog to discover the latest information from our engineers working on the newest Elementor versions, or visit the Developers Documentation to learn how to extend Elementor and create your Addons.

Developers Community

Join our Developers Community and share tips, tricks, and knowledge with other developers about extending and developing Addons for Elementor.

Be a Contributor

Community contributions are always welcomed and help us remain the Number 1 WordPress Website Builder. Feel free to answer questions on GitHub and within the various Elementor communities.

There are many ways to contribute to Elementor:

Contribution Guidelines

Please read our Contribution Guidelines to learn the best practices for contributing to Elementor.

Bug Report

If you found a bug in the source code and can reproduce it consistently after troubleshooting it, you can help us by submitting a Bug Report.

Even better, you can submit a Pull Request with a fix, and we will happily review it.

Security Report

Join our community-driven Bug Bounty programs.

We leverage the collective expertise of our community, offering round-the-clock crowdsourced vulnerability detection. The programs provide a comprehensive overview of features and endpoints considered 'in scope,' reward specifics where relevant, and our complete terms and conditions.

To learn more about our security efforts, visit our Trust Center. Security issues can be reported through our dedicated Bug Bounty Programs page.

Feature Request

Do you have a brilliant idea, enhancement, or feature you would love to see in Elementor? We're all ears!

Suggest new ideas, features, or enhancements by submitting a Feature Request.
You can also support existing ideas by voting for your favorite requests.

Translate

The Elementor User Interface was designed with a global audience in mind. It supports a wide range of languages and is also RTL compatible. Out of the box, we offer support for over 60 languages.

Want to make a difference?
We would appreciate your contribution by adding a new language or helping translate existing ones at translate.wordpress.org. To assist you, we've built a short guide explaining how to translate and localize the plugin.

Support

Need Help, Guidance, Assistance, or Support?

Use one of the support channels below to find solutions to your questions and get assistance.

Note that we are unable to offer any support through this repository.

Please DO NOT open issues or discussions to request support.
For those, use the appropriate channels.

Alternatively, you can visit one of these resources:

  • Help Center
    Visit the Elementor Help Center to find solutions to the most frequent problems, or read the documentation about Elementor's many features.
  • Academy
    Grow your Web Creator skills and learn to make the most of Elementor in the Elementor Academy.
  • Global Community
    Join the Elementor Global Community on Facebook. Where all kinds of users come together to help each other.
  • Support Forum
    If you have more questions, visit the free Support Forum on our WordPress plugin page.
  • Elementor Website
    For more information about features, FAQs, and documentation, check out our website at Elementor Website Builder.

If you have an active Elementor Pro subscription, you are entitled to personal support. Please see your purchase email or visit your Elementor Account page for details.

Liked Elementor?

wp2static's People

Contributors

amitay-elementor avatar bookwyrm avatar cameronvetter avatar chiriboga avatar dirtyf avatar dunklerfox avatar flynsarmy avatar fransallen avatar fromcouch avatar hikarine3 avatar ibes avatar janicak avatar john-shaffer avatar jts-fin avatar leonstafford avatar limmlingg avatar ohayn avatar palmiak avatar patrickdk77 avatar rotzbua avatar semonxue avatar sgerlach avatar stefanullinger avatar szepeviktor avatar thecodeassassin avatar thelq avatar utchy avatar vladstanca avatar yilinjuang avatar

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wp2static's Issues

option to diff to previous export and skip identical files

pseudo steps:

  • add option to view "only deploy changes since last export" is checked

  • if checked

  • at start of export, cp contents (not symlink) of latest-1 to former dir

  • at end of post-processing stage, remove any files from outputdir, which are identical to those in the former

  • existing functionality for building deployment list from output dir should then work as usual, but have a lesser set of files to copy

This should usually skip all binaries and assets if only doing WP content updates.

Empty Index.html

Hey. Great Plugin! After the last update (to 1.6) i'm getting on every export just an empty index.html (0 kb). Tryed with different sites. Then I've tryed with the old version 1.2 and everything works just fine. Wordpress 4.7.3

Plugin could not be activated because it triggered a fatal error. Parse error: syntax error, unexpected '[', expecting ')' in /var/www/wp-content/plugins/static-html-output-plugin/library/dropboxsdk/guzzlehttp/promises/src/functions.php on line 45

Issue activating plugin on PHP 5.3x (5.6 should be OK).

Look to detect capabilities and disable functionality (ie, Dropbox/Guzzle) in these cases..

Plugin could not be activated because it triggered a fatal error.

Parse error: syntax error, unexpected '[', expecting ')' in /var/www/wp-content/plugins/static-html-output-plugin/library/dropboxsdk/guzzlehttp/promises/src/functions.php on line 45

Character encoding issues in archive

When exporting a site containing certain characters on a UTF-8 site, exported HTML pages contain mojibake. Exported site contents should match original.

Attached are sample before/after files with encoding issues

exported.htm.utf8.txt
wordpress.htm.utf8.txt

To test:

  • which processes are reading/writing text - debug at each stage
  • mbstring extension has effect?
  • multiple input/outputs of encodings, else default to UTF-8

Encoding issue when no charset meta defined as utf-8:

input

(#2 in URL Configurations)

output

(#2 in URL Configurations)Â

resolved by setting:

<meta charset="utf-8" />

BunnyCDN export option

From user Leif:

My ultimate use case would be to publish to BunnyCDN storage upon post update automatic .. If I could dream of a perfect scenario .. =)

I have authors that posts and they would need to see the new post direct when they hit publish .. =)

I uploaded a html site without any optimization to BunnyCDN storage and just connected the domain to it´s CDN solution with cname as an example, you can see the domain here https://www.copy24.se/elements.html nothing fancy, just some files I had on my harddrive .. So you could get a feel about BunnyCDN .. =)

If you would implement BunnyCDN Storage API they have 2 different API sites, one for the regular cdn api at https://bunnycdn.docs.apiary.io and the other for the storage api at https://bunnycdnstorage.docs.apiary.io

I can really recommend BunnyCDN because they are a really friendly new ( started in 2015; https://bunnycdn.com/about ) company from Slovenia and their performance is often faster then AWS Cloudfront for a minimum of just $10 a year and about 8 times cheaper than AWS Cloudfront on their CDN and $0.01 /GB per month for their ssd storage .. and if you have a small site and the total bill is under the minimum yearly $10 then it cost you only the minimum fee of $10 a year .. It´s so cheap .. and for static sites, you can host a lot of sites with your plugin and you do not have to worry about traffic surges if you get lucky on one article in traffic.

Add option to set export directory

The project I'm on cannot use the wp-content/uploads directory to export the static site to, even temporarily. I would like an option added to the export settings that lets you configure where the temporary files and zip file are written to.

export missing files using GeneratePress theme

files seeming to be missing:

<script type="text/javascript">
--
  | window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.4\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/172.17.0.3\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.5"}};

so can be a manual copy - just hardcode inclusion of it (may throw warning on older clients)

TLS mismatch when fetching from localhost

From user-submitted email:

I forget the exact error I was dealing with, but here's the flow:

I am using TLS to protect my communication with the web server (wordpress).
I'd like to bring the web server behind the firewall so it is not exposed to attack.

I had issues with TLS hostname mismatch and your plugin, where whatever was fetching the pages before sending them off to S3 couldn't deal with the fact my private site had an invalid cert.

When the web server is behind the firewall letsencrypt (free TLS certs) won't work, and why would I pay for one for a firewall protected site?

I can install the TLS certificate locally to trust it manually, and I can probably install it into the web server system trust chain too if I can figure out which SSL library applies, but then I still have to deal with TLS mismatch if I've got multiple sites and one cert with no SANs.

If it's easy to just ignore TLS warning that would be great. If not, maybe I'll switch my entire site back to http. I can workaround the TLS issue so don't change libraries for me, but if its as simple as a checkbox and a runtime switch to your "fetch" library -- well thats great.

add error reporting tools

for easier communication of errors by users / shorten feedback loop

  • error submission form on plugin page
  • standalone script able to be triggered

most users may not bother to signup/login to WP.org to report issue or open email client

export multiple sites

ie, multiple rewrite and deployment options, to cover use case of demo site - wanting to publish to netlify, ftp, s3, etc. Each will have their own base url and possibly deployment methods.

can have unlimited* deployment scripts - options for their build triggers, if it's on each build or on demand. gives user more flexibility and this would cover use case of the other issue (#4) mentioning uat/production environment deployments...

library/aws/Aws/S3/Enum/CannedAcl.php failed to open stream

reported here

PHP Warning: require(/Users//S3StaticTest/wp-content/plugins/static-html-output-plugin/library/aws/Aws/S3/Enum/CannedAcl.php): failed to open stream: No such file or directory in /Users//S3StaticTest/wp-content/plugins/static-html-output-plugin/library/aws/aws-autoloader.php on line 1349

or

PHP Fatal error: require(): Failed opening required ‘/mycode/blog/wp-content/plugins/static-html-output-plugin/library/aws/Aws/S3/Enum/CannedAcl.php’ (include_path=’.:/usr/share/php:/usr/share/pear’) in /mycode/blog/wp-content/plugins/static-html-output-plugin/library/aws/aws-autoloader.php on line 1349

by default, strip all WordPress references from static HTML (increase current meta stripping functions; rename wp-content to small randomised dir name -show to user, but don't allow changing in this release), ie 7 char hash; rm comments from style.css; rm xml-rpc, wp-json, etc.

Strip from content

  • wp emoji
  • <link rel='https://api.w.org/' href='http://172.17.0.3/wp-json/' />
  • <link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://172.17.0.3/xmlrpc.php?rsd" />
  • <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://172.17.0.3/wp-includes/wlwmanifest.xml" />
     - [x] <meta name="generator" content="WordPress 4.9.6" />
     - [x] comments in css (show's theme info in style.css
  • *.w.org <link> tags
  • wp-embed js from wp-includes

ensure stripped from individual posts/pages:

  • <link rel='prev' title='Removing comments for a WordPress static website' href='http://172.17.0.3/2018/04/28/removing-comments-for-a-wordpress-static-website/' />
  • <link rel="canonical" href="http://172.17.0.3/2018/05/11/scheduling-exports-of-your-static-site-from-wordpress/" />
  • <link rel='shortlink' href='http://172.17.0.3/?p=8' />
  • <link rel="alternate" type="application/json+oembed" href="http://172.17.0.3/wp-json/oembed/1.0/embed?url=http%3A%2F%2F172.17.0.3%2F2018%2F05%2F11%2Fscheduling-exports-of-your-static-site-from-wordpress%2F" />
  • <link rel="alternate" type="text/xml+oembed" href="http://172.17.0.3/wp-json/oembed/1.0/embed?url=http%3A%2F%2F172.17.0.3%2F2018%2F05%2F11%2Fscheduling-exports-of-your-static-site-from-wordpress%2F&#038;format=xml" />
  • <link rel="pingback" href="http://172.17.0.3/xmlrpc.php">

Rewrite folder paths (wp-content etc)

Add user-editable, required fields for the following wp directories, using them in the cleanMeta function and in post processing of the export folder contents:

in code:

  • wp-content -> default contents
  • plugins -> default lib
  • themes -> default ui
  • theme dir -> theme
  • uploads -> data
  • wp-includes -> inc

in export file structure:

  • wp-content -> default contents
  • plugins -> default lib
  • themes -> default ui
  • theme dir -> theme
  • uploads -> data
  • wp-includes -> inc
  • user can still replace values with original WP paths if they want the URLs for indexed value

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.