Ask HN: Static site generator with web UI?
Wordpress has long been an easy way to set up a brochure-ware site which can be maintained by a non-technical user. Someone just needs to install it, customise a (free or paid) theme, and occasionally install updates. The business owner can add/edit pages whenever they want, without assistance.
Are there tools for maintaining static sites which are as easy to use (after initial set up), or is Wordpress still the way to go?
61 comments
[ 2.7 ms ] story [ 136 ms ] thread[0] http://bricolagecms.org/
Funny that they don't prominently say so. Most secondary material about Bricolage touts static generation with a web UI as the main selling point. That's how I got interested in it.
Another one, much better known: Movable Type.
What you seem to mean is are there CMSes that output static pages instead of rendering pages live when they are viewed. And you're just really talking about caching.
And the answer is, you can accomplish this pretty easily with just about any CMS (including WordPress) by using Varnish or other caching systems.
However, you can't do all the same with WordPress + Varnish. One of the nice things about statically generated sites is that you can deploy anywhere (such as S3) without minimal operational complexity.
Fair point. I was not entering any hosting concerns into the equation, only the behavior of the system as a whole.
Of course if you're concerned about this you'd make sure every page is current int he cache.
I'm sure it's possible in theory to prevent all kinds of attacks, but it's not like not pressing the breaks, more like trying to plug every hole in a sieve. The tool just isn't built to help you do that.
My favorite example is that Wordpress has its own cron system, which uses loopback requests to implement asynchronously. This is ok for a minimal blog install by someone without sysadmin experience, for a corporate site it just becomes a security liability.
https://prismic.io/ https://github.com/prismicio/baked.js
disclaimer: I work at the company backing the project, although not on this product.
You could use an online website creation tool. There are several robust solutions available including Weebly, Squarespace, and Wix. There are many integrations and add-ons available that target small businesses. It does cost a bit more than running a cheap hosting plan on Wordpress, but you do get support and it requires no technical expertise at all to get started.
If you have only static content and want to create an animated brochure-ware site, I would ask you to consider looking at Makemake.io. It features a simple drag-and-drop editor with no coding required.
If you need to integrate database driven features (contact forms, a shopping cart, etc), I would definitely investigate one of the former options. It just depends on your requirements.
Anyway, keep up the good work!
I'll have to take a look at adding that feature! In the meantime, you could consider iframing the site. I know this isn't ideal, but it might work depending on your use case.
What you could also do is integrate makemake.io with a subversion, so as a user I could change my website, and then compare it with a previous version.
Best of luck!
I see plenty of prototyping tools and have no idea why they do not generate nice native iOS and Android code as starting point to building the remaining parts of an app.
http://ionicframework.com/creator/
It has an editor plugin that allows live editing of the content.
http://picocms.org/plugins.html
I do all of my site building in Middleman, and during the Middleman build process consume the requisite API to load into Middleman's local data method. Upon complete, I sync everything up to S3. I use Heroku just for its Scheduler and run the compile every 10 minutes.
It's kind of neat, because I can have the Middleman scaffolding sitting in a repo, and the content sitting in Siteleaf/Prismic for the client to play with. And the hosting on S3 costs ~$3/month. It makes for a pretty dynamic static site.
This makes it perfect for polling an API during build for whatever data you need, then tossing the whole .json ball into the /data dir for exposure.
Don't get me wrong, I love me some Jekyll, but I find Middleman covers pretty much all my bases these days.
[1]https://middlemanapp.com/advanced/data_files/
Middleman: The template files.
Siteleaf: The CMS for the end users to play with
Prismic: The database.
Heroku: The deployment esp. the scheduler part.
Amazon S3: The hosting.
Did I get it right?
How about your clients?
Did they miss the old WP text editor or are happy with the new CMS?
My only take on this setup is the perceived or apparent fragmentation since the resources are scattered over many places and not on a single point like in a typical WP installation, what do you think?
I will go as a selling point for them the performance & simplicity. It's also easier to maintain for a person with some technical knowledge than Wordpress regarding updating the core & the plugins.
Obviously, a Dropbox-based interface is really easy to use, provided the user can get the hang of very basic Markdown (which seems not to be a problem for non-technical users judging from Reddit).
We have an internal WordPress installation where (non-technical) staff can make posts & pages, use their favorite themes & plugins, etc. Everyone can view the internal site to critique it, make changes, and basically screw around without touching the live site.
Once they have the site ready to release, we use a simple plugin (ignore the "outdated" warning): https://wordpress.org/plugins/static-html-output-plugin/ which basically exports the site to a static copy as a zip file containing all of the HTML and other static assets.
We made a little deploy script which loads the zip file on our Nginx webserver, moves the old "build" of the site to an archive directory (so we can still retrieve it in case the new site is broken), regex'es the files to change some things (such as wp-content/ URL's) to point to our CDN, etc. Once everyone has QA'ed the site on the internal server, we just run the deploy script and now the new version is live.
This has worked out great for us - no one had to learn a new CMS; we can easily change WordPress versions (or, switch to an entirely new WordPress install), add new plugins, and mess around with stuff without breaking the live site. Plus, the site is served entirely as static files from a lightweight machine which runs only Nginx - no PHP, database, or anything else.
Note that obviously any "dynamic" features of the site (like comments) won't work, but that doesn't impact us.
Our site is in the Alexa top 5000 and we've been using this setup for over a year without any site downtime, broken theme issues due to version updates, scrambling to update due to WP security issues, or any other annoyances that come with using WordPress.
For me, I'm afraid that this is not 100% reliable solution for me.
And all that it does is simply "spider" the site and save the pages to HTML.
You could get the exact same effect using curl or wget, we just use the plugin so that my non-technical employees can effectively click a button, get the zip file, and send it to someone who's got access to do the deployment.
Since it's an open source and its basic functionality can be replaced with simple Unix modules, I see no problem with this setup anymore.
Currently upgrading my company's existing website, and was looking into WordPress as a CMS. The security concerns and the resource costs of using WordPress were key detractors, but this sounds like it could be the answer for us as well.
I am good friends with the creator as well, but I would still use it otherwise.
1) http://ralsina.me/weblog/posts/preview-of-nikola-webapp.html
We've set up a full featured publishing workflow by coupling this with outgoing webhooks on Wordpress using hookpress and a great static hosting platform called Netlify that accepts incoming webhooks to trigger new static builds with roots when content is updated on Wordpress.
So far it's been fantastic for us. We enjoy all the benefits of a static site: low hosting costs, simple infrastructure, highly scalable, and virtually zero downtime, while still giving our users a familiar CMS interface.
We're are using a similar workflow to power our site (http://carrot.is/) but instead of Wordpress we're using Contentful, an API-based CMS with webhook support. Luckily, roots has a very flexible extensions API, so whatever CMS you want to use, as long as it has an API it can be turned into a static site.
Here's an example of how to set this up with Wordpress: https://github.com/carrot/roots-wordpress-example
As well as the two CMS extensions we've built so far: https://github.com/carrot/roots-wordpress https://github.com/carrot/roots-contentful
We really love it, and are happy to answer any questions from people considering a similar setup or who are interested in learning more about roots.
(Frankly, I would prefer to not even let them touch the content ...)
http://discuss.gohugo.io/t/web-based-editor/155
Hugo -- http://gohugo.io/
Although the learning curve is a little higher than SquareSpace/Wix, it's actually worth it. As a non-dev designer, it has allowed us to deploy all our sites effortlessly with the same fluidity and crisp animations as you'd expect from a grassroots buildup. It also allows you to export your (clean) code.
I honestly would never go back to anything. Webflow is how a GUI for website builders should be.