I'm at present working with a client who is on Wordpress. It's a huge company with 100s of employees in just one of their locations and they don't actually have dedicated manpower to maintain their homepage. This is where I got in.<p>Once I audited their site, I found a ton of issues, particularly - their stale Wordpress version, themes and plugins. I updated them all one by one and migrated them to Wordpress.com which doesn't suffer this upgrading pain.<p>Then, I found out the theme provider had actually stopped supporting the theme and there were a bunch of security flaws in it. But, the client wanted something like push and forget.<p>So, I painstakingly migrated them off of Wordpress and made a custom Jekyll site with Jekyll admin running on Netlify. They're immensely happy now knowing that their site is virtually unhackable (it's just a static site).<p>Static site builders are more powerful than we think. I have a travel platform running on it right now actually and none of the end users know its a static site they're on top of. There's no plugins to manage, no software versions or security loopholes to keep track of. The only way someone can hack into your site if they hacked your identity provider (Eg. Netlify). Otherwise, it's simply just a boon.
It's an interesting piece, and lots of good reasons to "go static".<p>But. They're <i>developer</i> reasons.<p>What almost everyone who piles into this support of static stuff seems to completely ignore is the <i>audience</i> here.<p>Who do you think is editing your website? Amy the developer who has no problem committing stuff to Git or learning Markdown or Dave, who is a marketing manager and spends most of his life in Word writing press releases and social media posts?<p>The entire point of a WYSIWYG editor is that it doesn't require any developer experience.<p>If you genuinely think a corporate website can be run out of a Git workflow or a requirement to learn Markdown, you're basically in the wrong room. This is the whole "IT bottleneck" that content teams have been battling for years: it's back to the early 90's days of "yeh, we want to update our homepage but we need IT to do it for us".<p>Somewhere in the middle is the holy grail: performant sites that are also editor friendly.
There is a misconception in the article: static websites aren't guaranteed to be small and dynamic websites aren't necessarily big (in size of assets / load times).<p>Most of the bulk in modern websites comes from JavaScript (frameworks, tracking, ads), images, videos. All these can and are used both with static and dynamic websites.<p>Static websites may be mostly hassle-free for developers/devops, but they're typically more of a hassle for content producers. I don't see a convincing case for them overall, because one of their bigger advantages - that they are easier to cache (or rather: to keep cacheable when developers add stuff) upstream than dynamic websites - is mostly gone from the web infrastructure.
There was an article yesterday on a french tech web site about a member of parliament asking if there was a way to encourage developers to make less bloated softwares for ecological reasons (less power consumption).<p>The text was around 5.5ko on a page weighting around 3mo...<p>Edit : link to the post (in French) <a href="https://www.numerama.com/tech/518848-un-depute-souhaite-que-les-developpeurs-codent-mieux-au-nom-de-lenvironnement.html" rel="nofollow">https://www.numerama.com/tech/518848-un-depute-souhaite-que-...</a><p>Edit 2 : replaced encline with encourage
I currently have a static microblog, which is open source [1]. It's generated from a single mark down file with some custom stuff to separate articles. I've been using it for two months and so far I have been able to blog daily [2].<p>[1] <a href="https://github.com/john-bokma/tumblelog" rel="nofollow">https://github.com/john-bokma/tumblelog</a>
[2] <a href="http://plurrrr.com/" rel="nofollow">http://plurrrr.com/</a>
My current static setup consists of:<p>* Nginx [1] - Serve the content with some settings, such as compression and HTTPS.<p>* Pandoc [2] - Builds the HTML pages and throws a header and footer in there, as well as a comments section [3].<p>* Bash script [4] - Runs in a screen session, polls git for changes, pulls and rebuilds the content, then builds RSS feeds.<p>Whilst this works for me, I could see how WordPress could be desirable. Some online editor, ability to add "plug-ins" (i.e. some bits somebody else coded), tracking, comments, etc. I think there is space for some static page generation system/script that adds a light weight editor and the ability to add other people's scripts.<p>[1] <a href="https://www.nginx.com/" rel="nofollow">https://www.nginx.com/</a><p>[2] <a href="https://pandoc.org/" rel="nofollow">https://pandoc.org/</a><p>[3] <a href="https://github.com/danielbarry/free-comment" rel="nofollow">https://github.com/danielbarry/free-comment</a><p>[4] <a href="http://coffeespace.org.uk/projects/site-creation-v2.html" rel="nofollow">http://coffeespace.org.uk/projects/site-creation-v2.html</a> & <a href="http://coffeespace.org.uk/projects/rss-feed.html" rel="nofollow">http://coffeespace.org.uk/projects/rss-feed.html</a>
For static site generators:<p><a href="https://github.com/pinceladasdaweb/Static-Site-Generators" rel="nofollow">https://github.com/pinceladasdaweb/Static-Site-Generators</a><p><a href="https://staticsitegenerators.net/" rel="nofollow">https://staticsitegenerators.net/</a><p>I keep all my resources for working with GitHub Pages, here:<p><a href="https://infominer.id/web-work/github-pages-starter-pack/" rel="nofollow">https://infominer.id/web-work/github-pages-starter-pack/</a><p>and am most familiar with GitHub facilitated Jekyll:<p><a href="https://github.com/planetjekyll/awesome-jekyll" rel="nofollow">https://github.com/planetjekyll/awesome-jekyll</a><p>MkDocs makes really nice pages that don't require fussing around with frontmatter, with auto generated navigation based on directory structure.<p>It also opens your publishing toolkit to python's universe of markdown related extensions, which you may already be familiar with.<p><a href="https://www.mkdocs.org/" rel="nofollow">https://www.mkdocs.org/</a>
I think this is a reasonable thing to do. For Dercuano, I hacked together a basic static site generator in Python 2 in a weekend (70% of the current static site generator code dates from the first three days, according to git blame); I've spent more time hacking on the CSS than on the Python, and immensely more time writing the text than either.<p>In case it's useful to someone else, as inspiration if nothing else, it's at <a href="https://gitlab.com/kragen/dercuano" rel="nofollow">https://gitlab.com/kragen/dercuano</a>, in the public domain. The latest version of the output is at <a href="http://canonical.org/~kragen/dercuano-20190525.tar.gz" rel="nofollow">http://canonical.org/~kragen/dercuano-20190525.tar.gz</a>.
> WordPress was one of the most visible early proponent of WYSIWYG, but others joined.<p>I added inline editing to Surreal CMS back in 2013, but obviously it’s not a well-known brand (the keyword is “visible” I guess).<p>People love inline editing, especially non-devs. When you abstract content into forms or markdown you often end up with results that look different from what you intended. I get feedback from new users weekly about how easy inline editing is for them.<p>Fortunately, TinyMCE, CKEditor, ProseMirror, et al all support it and the trend is finally shifting. But as a developer, I can attest that inline editing isn’t easy to get right — even when the underlying lib supports it.<p>I suspect that’s why we still see forms for content in CMSs.
Aren't static pages similar to a cache ?<p>Wouldn't you obtain the same benefits while still keeping Wordpress if you would use something like Varnish[1] or CloudFlare Edge cache[2] ?<p>[1] <a href="https://www.varnish-software.com/wiki/content/tutorials/wordpress/index.html" rel="nofollow">https://www.varnish-software.com/wiki/content/tutorials/word...</a><p>[2] <a href="https://wordpress.org/plugins/cloudflare-page-cache/" rel="nofollow">https://wordpress.org/plugins/cloudflare-page-cache/</a>
Agree. Hugo is a great tool for static sites, and GitLab offers free pipelines for the conversion and SSL with Let's Encrypt. Don't forget to gzip your content as the final step.
What I love best is that you don't need much to get started with generating a static web site, and you can be confident that once you deploy you don't have to worry that much about security or other production issues.<p>This greatly lowers the bar for entry, and I was doing this back in the 90s with Microsoft Access 95 and VBA for my school's website.
Bonus:<p>If you write plain, valid HTML your site will just work across all mainstream browsers and it will probably work reasonably wrt accessibility as well, -out of the box.<p>It will also be reasonbly fast. You might be able to eke out more performance from a site that has a lot of interaction but I'd not take that for granted.
All I want in life (as far as web authoring goes) is a wysiwyg editor for static html that creates fairly clean code and can provide responsive templates.<p>I just want to type text and drop images in and see it in real time, and then I would like to be able to define one or more areas on a page that contain dynamic content.<p>That dynamic content can be served up when visitors reach the site, or can be compiled by the static site generator periodically, I really don’t care about that step.<p>I don’t want to abstract “templates” from content. I don’t want to abstract anything. I just want to type and drop in other media without extra steps.<p>Why does this not exist? Am I supposed to be using Dreamweaver? I just don’t get why all these other solutions are so disjointed.<p>Edit:
Maybe I want to be using blocs
the biggest problem with JAMStack (everything including Gatsby, Jekyll, Hugo, etc) is that there is no single place with a nice source code repo, CMS system <i>and</i> hosting.<p>Basically, to get your JamStack to work - you need to use Github + Github hooks -> Contentful/Cosmicjs -> Netlify.<p>I believe this is a missing and a killer product. People think "oh why reinvent Github". But a business guy who wants a fast website does not know what github is - he/she just need a single place to do everything.<p>the workflow that would work is - upload my code to dashboard (using git/FTP upload). Write content in CMS and see the website change within a few seconds. Reupload new code, and the website changes within a few seconds.
I hate WYSIWYG (although I am not trying to prohibit anyone from writing/using them if they want to, only to say that you should not be forced to use WYSIWYG), but certainly for a lot of stuff, static web pages (especially if do not require script and a lot of other external resources) would be helpful, and sometimes gopher would do better, too. (Use of other protocols is also sometimes helpful for non-static stuff too, such as telnet/SSH for interactive sessions, or remote virtual table protocol (or maybe a better protocol and implementation can be made up), for remote database queries.)
but sometimes you legit need dynamic capabilities. I'm now pondering about selling a few items through my website(built with Hugo). But, how? So, I'm stepping into Wordpress realm because that's where the payment processing stuff are.<p>Anyone here know/have done a shopping website built with Hugo and a simple third party service for payment processing?
What I understand: the most used solution, Wordpress, is an attractive market but has a slow UI and experience, please consider using my markdown solution which I positioned in a different page than this article.
The main issue I have with static sites is that publishing from mobile isn’t simple. That said I also have this issue with WordPress, so I’m using Known now
Admittedly just bikeshedding, but the author is using a blockquote tag instead of an h2/h3 right under the h1 title for the summary of the article. Makes me think he probably doesn’t have that firm of a grasp on the fundamentals of semantical HTML and markdown, let alone web development in general.<p>This is, by the way, something I see a lot out in the wild, especially in Medium articles but also in READMEs on GitHub. Please stop using blockquote tags for emphasis purposes.