susam.net
makesite
Our great sponsors
susam.net | makesite | |
---|---|---|
6 | 9 | |
32 | 1,762 | |
- | - | |
8.9 | 0.0 | |
about 19 hours ago | about 1 year ago | |
Common Lisp | Python | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
susam.net
-
How I run my servers
I have a similar setup for my personal and project websites. Some similarities and differences:
* I use Linode VMs ($5/month).
* I too use Debian GNU/Linux.
* The initial configuration of the VM is coded as a shell script: https://github.com/susam/dotfiles/blob/main/linode.sh
* Project-specific or service-specific configuration is coded as individual Makefiles. This takes care of creatng An example: https://github.com/susam/susam.net/blob/main/Makefile
* The software is written in Common Lisp. In case of a personal website or blog, a static website is generated by a Common Lisp program. In case of an online service or web application, the service is written as a Common Lisp program that uses Hunchentoot to process HTTP requests and return HTTP responses.
* I use Nginx too. Nginx serves the static files as well as functions as a reverse proxy when there are backend services involved. Indeed TLS termination is an important benefit it offers. Other benefits include rate limiting requests, configuring an allowlist for HTTP headers to protect the backend service, etc.
- Ask HN: What tools do you use on your blog in 2023?
-
Reasons you aren't updating your personal site (2020)
I began developing personal websites in 2001. It was a time when people like me would develop personal websites just because we could. It didn't matter whether we had something useful to say or if anyone visited the website. All that mattered was that it was fun! I still maintain my website in the same spirit.
I do share the technical posts from my websites on HN and Reddit hoping to get some feedback but that's not the primary motive. Also, there were no HN and Reddit in 2001. Back then I used to write for myself and I still do so now. My personal website is a way for me to keep an archive of some fun things I know so that my future self can look back at them when needed or desired. Only a few days ago, I added a jokes page[1] to my website just because I thought it would be nice to keep my favourite jokes somewhere easily accessible.
As years go by, I've found that the friction of editing and publishing new posts or pages to my website has only become less. First came, virtual private servers that swayed me away from shared web hosting solutions. Then came Git which made it incredibly efficient and convenient to keep a change history of my website and sync it to any system. I write my pages in plan HTML using Emacs. Then git add; git commit; make pub [2] and the updated website is published within seconds. A Common Lisp program reads all my HTML pages, adds a common theme and template to them and writes them out to a directory Nginx can read from. It is as low friction as it can get that suits my taste and preferences while maintaining complete flexibility on the website.
It has been 13 years since I wrote my first "Hello!" and while HTML and web development and publishing has evolved a lot since then, I am still having fun!
[1] https://susam.net/maze/jokes.html
[2] https://github.com/susam/susam.net/blob/main/Makefile#L144
-
Lisp for the web: deploying with Systemd, gotchas and solutions
form.service (the systemd unit file)
-
Simplicity of IRC
Source code [0] is available on GitHub; looks like they wrote their own simple site generator.
I've been thinking about something similar (maybe even simpler) for my blog too.
- Static site and comment form served dynamically using a tiny Common Lisp web server
makesite
- Makesite.py
- Makesite: Simple, lightweight, and magic-free static site/blog generator
- Own your work
- Basic blog based on static markdown files?
-
Simplicity of IRC
Thank you for sharing the link to the source code. My simple site generator is based on my wife's project makesite.py[1]. In fact, I used her site generator for a few years before I went all in on Common Lisp for my personal projects. Then I reimplemented makesite.py in Common Lisp.
-
A good replacement for Drupal that is docker friendly?
I ended up using the developer-focused https://github.com/sunainapai/makesite , but I heard Hugo and Jekyll have plenty of themes that I assume can be dropped in. Good luck!
-
Blog about what you've struggled with
I've been using makesite.py, which is ~200 lines of python, dumping the picture in a pics folder and then hand editing the markdown.
Maybe a few lines of code and template work would let you add a custom template that would automatically add a folder worth of images.
https://github.com/sunainapai/makesite/blob/master/makesite....
- Ask HN: What novel tools are you using to write web sites/apps?
- Looking for a Ghost alternative
What are some alternatives?
maze - Susam's Maze • Main website: https://susam.in/maze/ • Mirror: https://susam.github.io/maze/
Pelican - Static site generator that supports Markdown and reST syntax. Powered by Python.
spcss - A simple, minimal, classless stylesheet for simple HTML pages
Nikola - A static website and blog generator
docker-rollout - 🚀 Zero Downtime Deployment for Docker Compose
Tinkerer - Python blogging engine
ts-neural-network - A neural network to play with
Lektor - The lektor static file content management system
The Lounge - 💬 Modern, responsive, cross-platform, self-hosted web IRC client
Cactus - Static site generator for designers. Uses Python and Django templates.
blog.johnnyreilly.com - This is the source code for https://johnnyreilly.com
Hyde - A Python Static Website Generator