16 ms·
Ask HN: What's a good static site generator to use for a blog in 2018?
Hello HN community,
I've been meaning to start blogging for a while now but I never got around to it. I do have some time this weekend and I thought I'll give it a whirl then.
I recently read about Hugo and I was wondering if it's good enough for me to start with? Has anyone used it? How has your experience been so far?
My posts will mainly focus on little programming tidbits that I learn while I'm working so yes, it will involve code snippets. Markdown support is a huge pro for me as well. I am aware of Jekyll as it's one of the biggest players in this segment but everyone's been complaining about its speed which is why I'm not leaning towards it.
If anyone's got some advice on what SSG I can use, fire away. If you can, highlight both the pros and cons so I can make an informed decision on this.
Thank you for your time! Cheers!
- Hates_ 9y agoHugo seems quite popular these days, especially if you like Go https://github.com/gohugoio/hugo https://github.com/gohugoio/hugo
- lukehaas 9y agoGatsby is worth taking a look at.
- artemis73 9y agoGatsby seems to be pretty slick but sadly, I'm unfamiliar with React. I primarily work on Django these days. I certainly will give Gatsby once I give React a shot. It's on the list of things I want to learn. Thank you very much!
- cyphar 9y agoHugo is pretty good. I've started using it for some project websites[1,2], though I don't use it for blogging. For my own website/blog, I wrote it from scratch using Flask[3]. [1]: https://rootlesscontaine.rs/ https://rootlesscontaine.rs/ [2]: https://umo.ci/ https://umo.ci/ [3]: https://www.cyphar.com/ https://www.cyphar.com/
- artemis73 9y agoYou're using the base16 theme for the first one, correct? Looks nice. I liked the second one as well. What theme is that? Also, you've mentioned in the sidebar that you've built it using Grav and Hugo. Would you mind explaining how you've used both? And why perhaps? Just curious because someone here suggested Grav over Hugo and you seem to be using both. I could make one with Django (overkill, I know) as I primarily work with it but I don't have a VPS set up yet and I don't think I'm going to attempt to get one anytime soon. The main reason why I wanted a static site is to not deal with configuring and maintaining the server. Thank you!
- cyphar 9y ago> You're using the base16 theme for the first one, correct? Yup. > I liked the second one as well. What theme is that? [...] Also, you've mentioned in the sidebar that you've built it using Grav and Hugo. The theme is a Grav theme, ported to Hugo[1] (hence the "made with Grav and Hugo" -- the actual site is made with just Hugo). The source for the site is [2]. And the source for my other sites are here[3,4]. [1]: https://github.com/matcornic/hugo-theme-learn https://github.com/matcornic/hugo-theme-learn [2]: https://github.com/openSUSE/umoci/tree/b9e256550d732c14beeab301ef1e3c2d825e6c07/.site https://github.com/openSUSE/umoci/tree/b9e256550d732c14beeab... [3]: https://github.com/cyphar/rootlesscontaine.rs https://github.com/cyphar/rootlesscontaine.rs [4]: https://github.com/cyphar/cyphar.com https://github.com/cyphar/cyphar.com
- artemis73 9y agoThat's awesome, thank you very much! Checking those links out now. How difficult is it to port a Grav theme over to Hugo?
- maxk42 9y agoThis is likely to be an unpopular answer, but the best choice is probably WordPress. I just used it to generate a network of about 40 static sites because (1) it has literally thousands of beautiful, professionally-developed themes for free; (2) same goes for plugins; (3) it's easy to hack if need be; and (4) it probably has one of the easiest-to-use and most-complete content editors, capable of creating both pages and blog entries, upload media, cropping images, etc.; (5) it has a variety of static site generation plugins to choose from; and (6) I spent hours looking at hugo, pelican, etc. and realized that any minor qualm I had with any of these common solutions was more or less addressed by the large and robust community of WordPress developers and enthusiasts. It's not a sexy answer, but it's practical. Just make sure you don't leave the WordPress site you use to generate static content open to the public.
- provost 9y agoWhat’s your recommended method to make WP static? Have any of the other plugins broken for you from making WP static?
- maxk42 9y agoI think I ended up using "WP Static HTML Output" (not sure how to make the link citations here on HN, but the URL is https://wordpress.org/plugins/static-html-output-plugin/ https://wordpress.org/plugins/static-html-output-plugin/ ) because it exports to S3, which is where I was hosting the static sites.
- TickleSteve 9y agoits not static tho, which invalidates it from this list. The fact that you mention it has a content-editor indicates you're not using it in a static fashion. (Correction, I hadn't realised you could use it in a static way... I last touched WordPress back in the dark ages!)
- maxk42 9y agoThe idea is to use WordPress as the generator: Not the generated site.
- pchal 9y agoThe best choices currently I think are: -- Ghost (expensive but dead simple to apply themes) or -- Hugo + Netflify (for hosting and automatically publishing your site when you push to your repo) + Forestry.io (for a nice front end to edit your posts if you want to avoid the command line) I care about Markdown plus MathJax support (for math notation) and both these options support that.
- philfrasty 9y agoDo you know who Ghost's intended target audience is? Their pricing at $29 (monthly) for hosting a simple blog seems bizarre when a DO droplet with pre-configured Wordpress is $5 (lots of other simpler WP hosting services out there). Edit: ok, pricing page says „For professional bloggers“
- johnonolan 9y agoOur customers are predominantly businesses and professional users who are quite happy to pay for a fully managed service and automation to save themselves time and energy. It's exactly the same as how you can self-host WordPress or Discourse for $5 on DigitalOcean, or you can find managed services at Discourse.org and WPEngine.com for $29-$99 If you're a developer and you want to just DIY - then you can. If you'd rather just pay someone else to manage the entire thing for you - then you can.
- artemis73 9y agoGhost seems to be a bit expensive for my taste. Especially if you weigh it in my currency (INR). I'll consider it once I have my VPS set up but I'm leaning towards Hugo for now. Netlify is amazing :D Thank you for Forestry though! Didn't know about it. Will definitely come in handy when I can't get to my personal laptop.
- deleted 9y ago[deleted]
- BjoernKW 9y agoGit and GitHub Pages: Simple to set up and use, supports Markdown and code snippets. Other than that I've never really understood the appeal of static site generators for normal websites or blogs that don't have millions of monthly page views. Tools like Hugo for many common use cases (like ordinary websites with ordinary scalability requirements) often come across as a solution desperately looking for a problem while at the same time creating a few new problems: Compared with dynamic website software like WordPress they can be difficult to set up and they tend to be more difficult to use, especially for non-technical users.
- manojlds 9y agoI hope 2018 here means cool and new solution that's different from previous ones in many ways - GatsbyJS
- artemis73 9y agoYep! I'd love to give Gatsby a shot but I have no knowledge about React. Will try it out once I learn a thing or two about it. Nevertheless, thank you very much for your suggestion :)
- luch 9y agoI used Github Pages which are Jekyll sites hosted by Github, which is sufficient for my needs and has a wealth of online documentation. If it's for blogging, you can also take a look at Blogger, half the programming & security blogs I follow are on it.
- artemis73 9y agoNot a huge fan of Blogger. There have been quite a few instances that I've linked to below where Google has taken down blogs for no apparent reason. I don't want to give someone else control over my content. https://www.vox.com/2016/7/30/12303070/dennis-cooper-blog-deleted-google https://www.vox.com/2016/7/30/12303070/dennis-cooper-blog-de... https://www.theguardian.com/music/2010/feb/11/google-deletes-music-blogs https://www.theguardian.com/music/2010/feb/11/google-deletes... http://www.nydailynews.com/news/national/artist-loses-14-years-worth-work-google-shuts-blog-article-1.2713462 http://www.nydailynews.com/news/national/artist-loses-14-yea...
- apm84 9y agoPelican (python) and Hugo were the ones I looked at before I decided to write my own toy SSG (python) for the heck of it. If you’re looking for something simple that you can build on, with support for Markdown, Jinja2 and static pages, take a look at https://github.com/amithmathew/pyjello https://github.com/amithmathew/pyjello If somebody wants to contribute, I’m happy to accept pull requests.
- artemis73 9y agoAny particular reasons why you chose to do this? I'm just curious on what the shortcomings of both these SSGs are that was off-putting to you. I'll check it out. Seems to be mature enough to give it a try. Thank you!
- yx1111 9y agoSphinx.
- yakshaving_jgt 9y agoWhat counts as "good enough" is such a subjective thing. What works for you will be some function of your needs and technical proficiency. It seems as though you don't have any specific needs, so any of the popular SSGs will be good enough for you. Pick one written in a language you already know, or pick one in a language you would like to learn. Some of the first Ruby code I wrote was a Jekyll plugin that I crudely hacked together. It worked fine. Jekyll is fast enough. Otherwise, there are plenty to choose from[0]. [0]: https://www.staticgen.com/ https://www.staticgen.com/
- artemis73 9y agoYou're right about the subjectivity. Mainly why I asked everyone about their opinions and experiences so that I could make a decision based on that. I'm not familiar with Ruby at all as I primarily work on Django. Go has always been on my todo list so I'm mostly leaning towards that for now. Thank you for the link! I can have a good look at all the available options :D
- geekodour 9y agoI built a JavaScript static site generator last year, works good for me. It uses github issues but makes it static. https://github.com/geekodour/gitpushblog https://github.com/geekodour/gitpushblog
- artemis73 9y agoChecking it out now! Seems to do quite a lot, actually. Great job!
- Maro 9y agoHow I did mine with Github Pages and Pelican: http://bytepawn.com/how-to-make-a-blog-like-this.html http://bytepawn.com/how-to-make-a-blog-like-this.html
- artemis73 9y agoYou https certificate has expired? I can't access your blog for some reason. Also, it looks like it's blocked by the Government of India. I wonder why?
- codegladiator 9y agoWhat is all the recent trend for static site generators about ? What happened non-static sites ?
- maxk42 9y agoSecurity is a lot easier to reason about on a static site. Especially if you're leaving the server security up to, say Amazon and hosting off of S3 or a CDN.
- codegladiator 9y agoWas security a huge problem in Wordpress ? I work in the tech industry too, but never came across security as an issue. Or is it about the plugins bringing in the unreliability ?
- dagw 9y agoI haven't looked at Wordpress in years, but it used to have a terrible reputation when it came to security. Hopefully they've improved.
- cddotdotslash 9y agoPlugins. The plugins are a never ending stream of XSS, SQLi, and other vulnerabilities. I used to intern on a web security team at Mozilla that hunted down these kinds of things and the entire experience revealed how easy it was to compromise your entire site because of a single plugin. During my six months there, I think I discovered 30+ plugins with issues. Most developers were responsive but some ignored us and the issues were never fixed.
- m_t 9y agoEvent without plugins, when your self host your wordpress you'd have to keep up with the updates. Only having to send a bunch of static files makes it really easy.
- gnode 9y agoI've personally never used Wordpress, but when I look at my server logs, there are always loads of requests from bots trying to attack Wordpress vulnerabilities in particular.
- jperry 9y agoI quite like Metalsmith (http://www.metalsmith.io/ http://www.metalsmith.io/
- artemis73 9y agoLooks good! I'll test it out today and see how it goes. Thank you!
- dhruvkar 9y agoHugo is, IMHO, one of the best, most versatile options out there for an SSG. I've been using it since v0.15 (now at 0.37). I use it for a simple, mostly text, blog (https://kar.ai https://kar.ai). I also use it for an image-heavy company site (https://www.stonelandinc.com https://www.stonelandinc.com). I also use it for 20+ other sites for clients. It's undergoing heavy development, so that may be a pro or con, depending. e.g. Recently they added image processing [0]. This eliminates a python script I was using for the same purpose. It's much faster as well, which matters when regenerating ~1k images. Down side, documentation & community is still catching up on the newer features. 0: https://gohugo.io/content-management/image-processing/ https://gohugo.io/content-management/image-processing/
- artemis73 9y agoThat's quite some praise there. Definitely reinforces the suggestions others have made as well. 20+ sites is a lot, wow :O I do not think the blog is going to be too image heavy as I'd like to keep it simple for now but it's definitely a plus to have. Thank you! :)
- slazaro 9y agoYou have been using it for a long time, right? Have you found any issues in the case when you previously successfully generated a site using an older version, but then install a newer version in a different machine, and you try to generate the site with the "old" source? That unfortunately has happened to me with other static site generators (breaking changes between versions with no automatic way to resolve them or thorough documentation on the changes to make to the source).
- dhruvkar 9y agoYes, a couple issues along the way. Honestly, they were minor enough that I don't remember the specifics, and it didn't take me long to fix. Since they're not at v1.0 yet, this is to be expected somewhat.
- smcl 9y agoThis might be an unpopular opinion, but really wouldn’t sweat all the details just yet. I’d just start with something simple, free and widely used just so you get into the rhythm of blogging. An existing service probably, Wordpress would even suffice - I use Posthaven but it’s $5/month. You can focus on getting the perfect backend later, but I’d focus on writing the posts themselves and getting into the rhythm of writing to a schedule. Many well-intentioned blogs fall into disuse long before they outgrow their tech stack. After you’ve put a dozen or so posts together you’ll have a better feel for what your needs are and you can then migrate your posts to the new platform of your choice - you can even write a blog post about it :-)
- artemis73 9y agoPosthaven is interesting! I'll have a look at it once I'm a bit more serious about blogging. Either this or something like Ghost. You're right though. From what I can tell, most of these alternatives seem to be interoperable and I can jump around easily if need be. I'll start with hugo and see where that leads me. And I'll blog about that as well :) Great idea :D Thank you!
- projectramo 9y agoI don’t know the right answer for you (probably depends on the language you know best or want to learn) but the “standard” is Jekyll in terms of maturity and acceptance.
- artemis73 9y agoYeah, that's the thing. I primarily work on Django so Hugo or Pelican make sense to me. I did give Jekyll a whirl but I wasn't overly fond of it. I'll have to read through the docs and then decide if it's right for me. Thank you! :)
- wireblitz 9y agoI love Jekyll and GitHub pages for free hosting. Here’s a few clean templates I like: https://bvallieres.com/resource/2015/07/29/jekyll.html https://bvallieres.com/resource/2015/07/29/jekyll.html
- artemis73 9y agoThe templated do look slick! I'll see if I can find any counterparts for Hugo or rebuild any of them as I currently leaning towards that. Thank you very much!
- rwieruch 9y agoI use Hugo [0] as a static website generator. They have plenty of themes [1] to choose from. You can still adjust it with basic knowledge in HTML/CSS. Afterward you can chose where to host it. You can use Github Pages [2] for free or pay for a service like DigitalOcean (starting with 5€ a month which scales well) [3]. I wrote a technical cheatsheet [4] on how to setup your own website with these ingredients. - [0] https://gohugo.io/ https://gohugo.io/ - [1] http://themes.gohugo.io/ http://themes.gohugo.io/ - [2] https://pages.github.com/ https://pages.github.com/ - [3] https://www.digitalocean.com/ https://www.digitalocean.com/ - [4] https://www.robinwieruch.de/own-website-in-five-days/ https://www.robinwieruch.de/own-website-in-five-days/
- artemis73 9y agoThanks for the last link. It will surely be helpful :D Hugo seems to be the winner for now.
- amrrs 9y agoNot sure if `blogdown` is known among wider audience. `blogdown` is an R package to generate static websites based on R Markdown and Hugo. So it couples the ease of using R markdown and speed/simplicity of HuGO. https://github.com/rstudio/blogdown https://github.com/rstudio/blogdown But I'm not sure if a non-programmer would be interested in this just for blogging.
- noelwelsh 9y agoI'm using Hakyll, simply because I want a bit more exposure to Haskell. I've used Jekyll and Hugo in the past. Jekyll has lots of support but is slow for large sites. Hugo was alright. Only used it for a small project.
- 0xmohit 9y agoHere is a tutorial on creating a static site with Hakyll and Github: https://begriffs.com/posts/2014-08-12-create-static-site-with-hakyll-github.html https://begriffs.com/posts/2014-08-12-create-static-site-wit... EDIT: Tutorials about Hakyll: https://jaspervdj.be/hakyll/tutorials.html https://jaspervdj.be/hakyll/tutorials.html
- artemis73 9y agoThank you! :)
- artemis73 9y agoInteresting! Will check it out. Thank you!
- rayalez 9y agoI'm very happy with using pelican for my blog: https://startuplab.io/blog https://startuplab.io/blog It's very flexible, written in python, easy to customize, has plugins for any purpose. It supports markdown, latex, code snippets (with syntax highlighting). It's very simple to set up and you can use it for any purpose. I've made a custom theme, configured it a bit, and served it with nginx on digital ocean(but you could also host it for free on github pages). You can see the code and my custom theme here: https://github.com/raymestalez/startuplab https://github.com/raymestalez/startuplab ---- Here's a few simple things I want to recommend, based on my experience: - Immediately setup a mailchimp account and an RSS feed. Add a link in the header, and under each post (you can see how it works on my blog), you want to start build a list of followers right away. - Ideally, write a short ebook or a guide to give people extra incentive to subscribe. The sooner you do this - the better. Here's a sexy landing page I've made for my blog to use as an example: https://startuplab.io/free-guide https://startuplab.io/free-guide - Keep the design elegant and simple, nobody needs distracting sidebars or popups, avoid them unless absolutely necessary. - Underneath my posts, I have 3 boxes recommending my other articles (or promoting my projects), it's a really neat way to keep people on your site. - Don't forget to set up metadata and social images for good SEO and sharing. You can see how I did it in my template here: https://github.com/raymestalez/startuplab/blob/master/themes/startuplab/templates/base.html https://github.com/raymestalez/startuplab/blob/master/themes... - For a very simple commenting system I highly recommend isso: https://posativ.org/isso/ https://posativ.org/isso/ It's really easy to setup and a pleasure to use. Although personally, I share my posts on HN/reddit, and have a link to the discussion thread automatically embedded in the post footer. That way you don't need any complex setup, and it's better for the exposure.
- xref 9y agoThanks for the detailed reply, however I don't see any links to HN/Reddit in the footer or anywhere else on the mobile page of your blog posts?
- artemis73 9y agoThank you so much! I'll keep these points in mind while settings things up. I almost forgot about commenting. isso will need a server component to do what it does and I'm planning on hosting it on something like github pages. But then, I don't like Disqus myself. Can't imagine forcing someone else to use it. I'll think about it. Thanks for bringing this up and for everything as well!
- 4lun 9y agoI've personally been meaning to rebuild my personal site with Next.js: https://github.com/zeit/next.js/ https://github.com/zeit/next.js/ Used it to build a few static sites at work and have quite enjoyed it as you get to use React.
- artemis73 9y agoI've never worked with React myself. I primarily work on Django right now and do very little frontend work. Although, I've been meaning to pick up React so I shall try this once I do. Thank you very much :)
- okket 9y agoPrevious discussion about almost exactly the same topic from 17 days ago: https://news.ycombinator.com/item?id=16346187 https://news.ycombinator.com/item?id=16346187 (89 comments)
- artemis73 9y agoSorry about that. Doesn't seem like Hn has an option to search, or does it? I don't really frequent the Ask HN section so I wasn't aware. Thank you for the link though. Found some interesting info there :)
- Fletch137 9y agoIMO, just about any will do, but the simplest thing that'll get the job done is probably the best choice - less inertia. If all you need is a markdown-powered blog, then choose something that does only that. I use Gatsby because I'm familiar with React and it does what I need it to do. I provide a few small businesses with simple websites to advertise their services (opening times and the like) where wordpress would have been the "traditional" choice, and the main thing I've learned from this is to stay away from loads of plugins or extra functionality until you absolutely need it - it's just more maintenance overhead and things to mess about with/configure. When I update a client site, I simply edit some text and regenerate the site - no plugins to update or config files to edit.
- deleted 9y ago[deleted]
- Fletch137 9y agoReply to a deleted comment, mentioning that once the client wants to make edits themselves you end up back at wordpress: Absolutely correct. Unfortunately, I wouldn't trust most of my clients with a wordpress login so that's never been an option. Coming from wordpress sites that clients have installed all manner of plugins on and I have to fix every two weeks, updating some text files manually is a minor issue. I will never go back to wordpress hell. I am looking into online editing of the content files to address this issue, but I would rather stick with making the edits myself than see a client site with 5 H1s in a page.
- artemis73 9y agoYou're right about the minimalist approach. I just want something quick and easy. I shouldn't dread to use it else I will end up dropping it altogether. I'll be picking up Go as I'm unfamiliar with React and Go seems to be easy to grasp. Thank you for suggesting Gatsby though, I'll give it a shot once I learn React, which should happen this year.
- dmytrish 9y agoIn my experience, static site generators are not a complete solution. Unless you are satisfied with the default look and feel of generated pages (or a theme available), even Jekyll needs some tinkering, debugging and diving into the code. So, in case you need customizaton: just stick with any static site generator written in a familiar language and don't be afraid to fiddle with generation process.
- artemis73 9y agoYeah, I'll have to do that since I'm rarely happy with a default theme. Will need to modify it to suit my taste. Thank you!
- campers 9y agoI use Hugo too for https://apporchestra.com https://apporchestra.com I have it in a GitLab repository with the continuous integration script configured to build and deploy it to Google app engine (configured as a static content so no paid instances are running) each time I push a commit.
- srik 9y agoOut of curiosity, may I ask why Google App Engine if the content is purely static. Surely there are better and simpler options like Github Pages. Wondering if there is a benefit to App Engine here that isn't quite obvious to me.
- artemis73 9y agoYeah, I'm curious about the GAE aspect as well. Why have you chosen that over something like Netlify? Any particular shortcomings I'm missing?
- turbinerneiter 9y ago* Makefile * Pandoc * git You push to a remote on your server, it runs the Makefile via post-receive hook and builds a single, static html file from your Markdown with Pandoc (inlineing everything, images even fonts if you want to) and copies it to the folder served by your nginx.
- err4nt 9y agoHey! This really piqued my interest, could you explain more about the makefile part of this? I currently use Pandoc to convert a folder of .MD files into .HTML files with the same name, and have begun modifying the templates and making use of the YAML metadata you can add. I really like working with markdown like this, and it's perfect for Git. Here's an example of the kind of build script I use currently: https://github.com/tomhodgins/responsive.style/blob/master/src/build-prod.sh https://github.com/tomhodgins/responsive.style/blob/master/s... How would you build the contents of the /src folder with pandoc and your makefile? Edit: for those looking for an example of the result of one of my Markdown -> Pandoc -> Git -> Static Hosting workflows, check out this page: - Static HTML: https://responsive.style/techniques/child-element https://responsive.style/techniques/child-element - Markdown Source: https://raw.githubusercontent.com/tomhodgins/responsive.style/master/src/techniques/child-element.md https://raw.githubusercontent.com/tomhodgins/responsive.styl...
- flukus 9y agoHere is a post I made (and generated) about my generator: http://flukus.github.io/building-a-blog-engine.html http://flukus.github.io/building-a-blog-engine.html It's pretty similar to your shell script but builds are incremental with no extra work. I went with awk for index generation and metadata. There's still plenty of room for improvement but it does most of what I want.
- artemis73 9y agoInteresting proposition. This could be a worthwhile weekend project. Will use Hugo for now as I don't intend to get my own VPS anytime soon but I'll definitely try this out. Thank you!
- dageshi 9y agoWell, this thread got nuked didn't it? From first page to page 5 in under a few hours...
- artemis73 9y agoRight? I didn't expect it at all. It's my first (maybe?) post here and it just blew up. Love all the suggestions though. Quite a lot of them were immensely useful! :)
- brador 9y agoBetter to take action now and fix it up later. MVP: You need a domain name, some hosting, 1 index.html at root for the main menu of links and 1 new file for each blog post. Make the title of each file the same as the title of your post like "Whats-a-good-static-site-generator.html" and dump the files in root as you go, link them from the main menu. You can write your posts and make the files using any text editor. Worry about the stack later once you have a few posts under your belt and understand your mid-term use case. But start now.
- artemis73 9y agoYou're right about that. Also, it looks like I'm not necessarily locked to any particular system since most of them use the same underlying structure. I can easily move to something else when I need to. I've got the domain, gonna end up hosting it on either Firebase, Netlify or GH Pages and I think I'm settling for Hugo since everyone here has spoken positively about it. Thank you for your suggestions! :)
- romanovcode 9y ago- Hugo - Travis CI - Cloudflare - GitHub Pages This is how I host my website completely for free with SSL. Whenever I commit it to GitHub it will build and deploy it for me.
- artemis73 9y agoInteresting. I've always wanted to give CI a shot. This could be a good start to explore it. What role does cloudflare play here? Just curious as I don't know what it's capable of doing. I might end up adopting the same system as well since everyone here has been raving about Hugo. Thank you for the suggestions!
- romanovcode 9y agoCloudflare provides free SSL because the github pages are directing to a custom domain therefore there github cannot provide with SSL.
- artemis73 9y agoAh! Right. That's on the todo list as well. Thank you very much!
- fpadilha 9y agoIf you are still undecided to go static or not, I would recommend checking out Grav. We were almost going for a static generator for our blog (we were between Hugo and Jekyll) when I stumbled into Grav. It's not static but it is flat-file based, which as it turns out gave to us exactly what we needed, a serverless solution (all your posts are just markdown files and all your settings are yaml files) with powerful templating options. https://getgrav.org/ https://getgrav.org/ EDIT: typos
- artemis73 9y agoWOW! This piqued my interest. I've downloaded it and I'll be giving this a whirl for the next few days. Thank you so much! :)
- derekperkins 9y agoIf you like React, you should check out https://github.com/nozzle/react-static https://github.com/nozzle/react-static
- artemis73 9y agoNot familiar with React so I'm going to give this a pass (for now). Will pick it up once I'm familiar with it. Thank you!
- fche 9y agoikiwiki
- artemis73 9y agoA little too simple for my taste but an interesting suggestion nonetheless. Will come in handy someday. Thank you!
- a-saleh 9y agoI am using nikola: https://getnikola.com/ https://getnikola.com/ The main reason is, that I really like jupyter notebooks and my blog began as experiments in Jupyter that I wanted to somehow preserve, i.e. http://notes.asaleh.net/posts/monoid-pattern-in-python/ http://notes.asaleh.net/posts/monoid-pattern-in-python/ Second reason is, that I like to experiment with format of my posts quite often (several were made in org-mode, i.e: http://notes.asaleh.net/posts/experimenting-with-purescripts-rowtolist-metaprogramming/ http://notes.asaleh.net/posts/experimenting-with-purescripts...) But it depends on what you want. I decided I want to write. So I focused on on writing and experimenting and try not to spend too much time on setup :-) Good luck with your blog!
- artemis73 9y agoThat's interesting! A good alternative to Pelican and Lektor. I'll consider this since I'm already comfortable with Jinja. Thank you very much :)
- RobGav 9y agoJust use Getpublii https://getpublii.com https://getpublii.com Its really different than other generators - it's a static CMS with GUI and themes. Comes with WP migrator, GitHub pages, Netlify, S3, Google cloud or sftp.
- artemis73 9y agoLooks great but sadly, they don't have Linux support (yet). Will check them once they start supporting Linux. Thank you :)
- brudgers 9y agoTo me, fretting frameworks is a form of writer's block.
- artemis73 9y agoRight? This has been a huge problem for anyone whos's considering starting anything these days. Variety is good, but sometimes I feel that we've just got too many choices and I find them to be exhausting sometimes. Or maybe it's just me? Not sure. I'm settling with Hugo as it seems to make sense for me. Thank you!
- zie 9y agoI would argue, unless you specifically NEED the blog format for some reason, to use whatever you use for your project documentation. i.e. if you program mostly with python then use Restructured Text and sphinx, etc. Why? because then you can't say you are unfamiliar with the tools when it comes time to writing docs for your project, something we all suck at doing.
- softwarerero 9y agoIf you prefer Vue over React there is also https://nuxtjs.org/ https://nuxtjs.org/ which I found nice to work with.
- artemis73 9y agoThis is pretty cool! I've just started picking up the basics of Vue. I'll give this a shot once I'm more familiar with it. Thank you! :)
- sachleen 9y agoI was looking for one a while back and ended up making my own in PHP. I know it's not a popular language anymore but I have a PHP host where I put my websites and it's the quickest to get up and running for me. Anyway, it's on github https://github.com/sachleen/Steady https://github.com/sachleen/Steady and a website I made using it: https://github.com/sachleen/SacSciOly https://github.com/sachleen/SacSciOly | http://sacramentoscienceolympiad.com http://sacramentoscienceolympiad.com I tried all the others and none worked for me. Had to install all these new development environments, lots of issues setting up the local servers and building sites, etc. It's not perfect and I probably would not recommend it to anyone else (no docs yet, after all), but it works for me and doesn't take too much time to throw something together if you want simplicity.
- artemis73 9y agoI've done a tiny bit of PHP in my life and I was never good at it so I'm going to shy away from your suggestion. But, this will definitely put a smile on my friend's face. He just loves PHP. So, thank you for this!
- wilkowskidom 9y agoHave a look at https://cuttlebelle.com https://cuttlebelle.com It was specifically built to help non technical people edit and compose pages. (which is not you :) )
- artemis73 9y agoLooks pretty slick! Unfortunately, I'm unfamiliar with React. Nevertheless, I'll definitely consider trying it out once I give React a shot. Thank you!
- StavrosK 9y agoI use (and like) Lektor. It's very flexible and easy to get started with. Hugo was another contender, but I found it very hard to understand and work with, and it took some hacks to do a very simple thing I wanted, so I abandoned it quickly.
- artemis73 9y agoI'll be giving both Lektor and Pelican a shot since they both use Python and Jinja and I'm familiar with them coming from Django. Thank you!
- kaushalmodi 9y agoLike many others said, Hugo (https://gohugo.io https://gohugo.io) is super-awesome. - Single static binary for any platform for a static site generator; couldn't get better. - The fastest too! - The Go templating is great! It should be fairly easy to pick up by anyone knowing any programming language. I love it especially because it reminds me of Lisp. Example: {{ or (and $a $b) $c }}. (For the folks that are not a fan of Lisp, you can right the same as {{ and $a $b | or $c }}.) Hugo has inbuilt support for Org mode. But I use more Org syntax than the inbuilt version can support. So I came up with an Emacs package that's an Org exporter backend that exports to Hugo/Blackfriday Markdown + front-matter -- ox-hugo. Folks appreciative of Emacs Org mode might want to check out the homepage https://ox-hugo.scripter.co/ https://ox-hugo.scripter.co/ "dog-fooded" by the package itself :)
- artemis73 9y agoEverone seems to be raving about Hugo so I'll give it a chance. Let's see how it goes. I did give a quick glance at the templating syntax and it certainly was easy to grasp. I haven't used Lisp so I'm not sure of how similar they are. Org mode support seems to be interesting. I've always wanted to pick that up as well. Could you share some good resources you might be aware of? A quick Google search led me to some really old articles. Thank you for bringing this up! I appreciate it :)
- kaushalmodi 9y ago> I haven't used Lisp so I'm not sure of how similar they are. As I said, I can see the syntax to be easy to grasp for anyone knowing any coding language. But Lisp fans would be in for a treat. In very simple terms, a list function always had the function symbol or identifier as the first element of a list (everything is a list in Lisp), and any number of arguments have to follow after that. Example of an add function in Lisp: (add 1 2) The same thing in Go templates: {{ add 1 2 }} > Org mode support seems to be interesting. I've always wanted to pick that up as well. Could you share some good resources you might be aware of? If you use Emacs, the best Org reference is the Org Info manual. Do `C-h i` to open info within Emacs and jump to the Org manual. (You probably aren't using Emacs as you mentioned that you are not familiar with Lisp. So may be this tidbit helps someone else). If not using Emacs, - Check out the section on Markup[1] in the official Org manual in HTML. - My blog source in Org[2] - Source of ox-hugo.scripter.co website (100% of the content) from this one Org file [3] If you don't want to get into too much detail: * Heading level 1 ** Heading level 2, and so on *bold* /italics/ _underline_ +strikethrough+ - list item 1 - list item 2 1. ordered list item 1 2. ordered list item 2 But if you are really getting into Org syntax, here's the mega test file[4] for ox-hugo package that exports to 100's (literally) of Hugo content posts here[5] and gets rendered to HTML by Hugo on https://ox-hugo.scripter.co/test/ https://ox-hugo.scripter.co/test/. The good news is that you don't have to use Emacs for Org mode, if you plan to use Org mode just like Markdown (and may be a little bit more). If you do use or end up using Emacs, then Org mode is like 1000x Markdown (or may be more :) ). > Thank you for bringing this up! I appreciate it :) You are welcome. Hopefully this response wasn't too much of an information overload. [1]: https://orgmode.org/manual/Markup.html https://orgmode.org/manual/Markup.html [2]: https://gitlab.com/kaushalmodi/kaushalmodi.gitlab.io/raw/master/content-org/scripter-posts.org https://gitlab.com/kaushalmodi/kaushalmodi.gitlab.io/raw/mas... [3]: https://raw.githubusercontent.com/kaushalmodi/ox-hugo/master/doc/ox-hugo-manual.org https://raw.githubusercontent.com/kaushalmodi/ox-hugo/master... [4]: https://raw.githubusercontent.com/kaushalmodi/ox-hugo/master/test/site/content-org/all-posts.org https://raw.githubusercontent.com/kaushalmodi/ox-hugo/master... [5]: https://github.com/kaushalmodi/ox-hugo/tree/master/test/site/content/posts https://github.com/kaushalmodi/ox-hugo/tree/master/test/site...
- zapperdapper 9y agoHugo is good, but you will need some technical expertise to customize it, unless you use a stock theme/template. GitHub pages is also a great way to get started quickly - Markdown is easy to learn and there are several cheat sheets out there. What I did in the end is created my own very simple site generator (calling it that is probably being over generous) - it lacks many features of a full-blown generator like Hugo, but it suits me down to the ground. I then host (for free) on GitHub and publish also to neocities.org (for free). See my HN profile for link to website - from there you can pick up the source code if you're interested. Good luck with your blogging!
- artemis73 9y agoHugo seems okay to me. Not that complicated so far. Yeah, it's a bit opinionated which kinda irks me sometimes coming from something like Jinja templating. Do you have your SSG up somewhere on GitHub? I'd like to give it a look. Seems to be a cool idea. Thank you for telling me about neocities. Wasn't aware of that!
- zapperdapper 9y agoCheck my HN profile. From there you can find my GitHub (see the repo Website-Test that has everything), feel free to use my code if you so wish! Oh I really like neocities. You can sign up for pro membership and have custom domains and so on but I've not needed that so far - I may do at some point though. All the best!
- oaf357 9y agoHugo. And done!