4 ms·
I've been having decision paralysis about setting up my own personal website. I would personally like to avoid some bloated frameworks or tools like Wordpress,
by bmitc 6y ago
I've been having decision paralysis about setting up my own personal website. I would personally like to avoid some bloated frameworks or tools like Wordpress, Squarespace, Wix, etc. I'm also not really sure I even want a blog. I'd like to have a collection of articles that aren't just written once and then moved on from but rather are updated and refined over time. I've looked at static website generators, but don't really feel they're that simple.
So I've been looking to just do things from scratch. Maybe it would be nice to write articles in markdown and have a custom static website generator that takes these and publishes them. It could be a fun F# or Racket project. The idea of simple HTML and CSS being loaded for maximum speed and old school web with a little something for interactive graphs and other things is something that sits well for me.
Although, I just took on a new Elixir job, and something with Liveview and Livebook for interactivity could be really cool.
Anyone else struggle with this and end up coming up with a solution or finding one?
- mkosmul 6y agoThis blog's author wrote his own minimalistic static site generator: https://prog21.dadgum.com/ https://prog21.dadgum.com/ But, I think, doing things from scratch can be risky: ready-made solutions have a learning curve, but they also do lots of useful things which you might need, and writing all of that from scratch is really lots of work. For me, it's always about find the right point on the spectrum between "write it myself to do exactly what I need" and "huge, bloated thing that claims to do everything anyone might ever need"
- vbsteven 6y agoI chose Jekyll as a static site generator because it was simple enough to understand what it does. Its build step is just taking a directory of markdown files and converting them to html pages using a template. It feels like the next logical step after writing all pages in html by hand.
- jdthedisciple 6y agoI am struggling with the exact same problem at the moment. I am currently contemplating using just http and php, whereby I just save my posts as textfiles along with maybe 1 image file in a folder ( say /posts/{id}/) and the php just takes all those and turns them into HTML using some type of template like the author mentioned. Then do some basic SEO to improve visibility. I'm no webdev myself and have no experience with building anything on the web but I think this could suffice.
- LEARAX 6y agoI've been using the minimalist ssg [1], a ~187 sloc sh script to generate my site [2], so that I can avoid dealing with more complicated, messy solutions and to make it easier to switch to a custom site generator if I decide to write one in the future. I'd say I'm pretty happy with it so far. [1]: https://www.rgz.ee/ssg.html https://www.rgz.ee/ssg.html [2]: https://culhane.top https://culhane.top, source: https://sr.ht/~learax/culhane.top https://sr.ht/~learax/culhane.top
- tasogare 6y agoI used PHP for writing a personal page that can make use of functions to avoid repetition. Then I generate static pages (one per language) with a shell script. Another script to scp the static pages to production. Simple and efficient, no framework, no bullshit, two files of helper functions and one CSS.
- ahmedfromtunis 6y agoAn hour was more than enough for me to learn eleventy and used this basic knowledge to build a simple home online. This was the first time I ever touched a static site generator. It was harder than I expected, but my expectations were probably unrealistic. I was so happy with what I got that i decided to replicate my more-than-10-year-old Tumblr with what I just built as a test. I "host" it for free on Netlify. And if anything goes wrong with them, I can just move it anywhere I want. My only pet peeve is that I'm not yet used to committing content with git alongside the code, but that's it.
- simplify 6y agoI feel the same about static site generators, which is why I'm working on Lancer[0]. It's designed to be as close to plain HTML as possible, with just enough features to support generating static sites, and even SSR and server endpoints. For example, Lancer doesn't have built-in support for markdown. However, it supports arbitrarily transforming your <template> tags so you can add markdown support to your website with effectively a one-liner[1]. It's this type of approach that I hope to build a framework that requires as little framework knowledge as possible, while being flexible enough for all content-based websites. [0] https://lancer.studio/blog/the-fight-against-complexity https://lancer.studio/blog/the-fight-against-complexity [1] https://lancer.studio/docs/guides/markdown-support https://lancer.studio/docs/guides/markdown-support
- barrucadu 6y ago> Maybe it would be nice to write articles in markdown and have a custom static website generator that takes these and publishes them. This is what I do. I have three static websites, each has a small (few hundred lines of code) Python script rendering them. I find it worlds easier than existing static site generators, where going even slightly off the happy path is usually a huge pain. Some examples of custom things I've implemented, which were basically trivial due to doing it myself: - A probability table renderer, which produces output like https://i.imgur.com/siNN5Tu.png https://i.imgur.com/siNN5Tu.png from a CSV of values and probabilities. - A custom syntax for acronyms, which get the mouse-over text and a link to a glossary entry inserted (with automatic pluralisation too). - Custom rules for rendering markdown code blocks, to handle things like rendering GraphViz code to an SVG and inserting that in the page. I usually use jinja2 for templating and pandoc or pymarkdown for rendering the content. I've intentionally NOT made one static site generator to handle all three sites, as this is where the complexity and inflexibility of existing static site generators comes from. Specialised tools which can evolve independently are inherently more flexible than one complex tool which tries to do everything. People often say that using a pre-existing static site generator means you don't have to implement features like hashing assets, rendering feeds, or handling tags/categories yourself. Which is true. But those are all very easy to implement, so it's not much of a selling point.