Ask HN: How should I create my personal academic blog?
I’m a junior (ish) neuroscientist with some decent quantitative and coding skills. I want to create a personal website to share code, tutorials, opinions, those sorts of things. I would like the site to be quick to load and as small as possible; I’m not afraid to code and pay (a little) for hosting. Would HN readers like to inspire me by describing their blogging workflows?
To date I’ve tried two approaches, neither were ideal. (1) A WordPress site with Bluehost. This came with a domain and was extremely easy to use, the themes looked great, etc. The major downsides were that pages loaded really slowly and I was paying for features I would never use. (2) After a while I attempted to switched to Jekyll hosted at GitHub pages. The new site was quick to load and free, but I was uninspired by the available themes. I attempted to modify several of them but it was annoying as all hell Due to the lag between pushing a commit to GitHub and seeing the results on my webpage.
27 comments
[ 3.2 ms ] story [ 66.4 ms ] threadI just got out of the computational side a short while ago. I didn't blog about it much since there is a lot of background which you need to explain for most numeric methods (not to mention all the time needed to provide good instructive data visualizations).
I've tried a few different iterations of posting content to my site. Initially it was editing raw HTML, then a small custom common lisp app, then there was a short lived rails project which I forked from the original dev, then there was a brief stint using ikiwiki, and now I'm using jekyll on my site for the blog side of things.
Per the current workflow I typically get a seed idea when I'm actively working on a topic and have a bunch of loose notes. Then I formulate the core idea of what can be conveyed to readers (and myself when I look at things months/years later) with pencil/paper. Next I typically transcribe things to an AsciiDoc document, build figures with Julia scripts or in a jupyter notebook, and edit a bunch. Once things are looking decent I use jekyll's auto-rebuild feature and built-in server for semi-final tweaks/formatting. Finally I commit it and verify that everything looks fine on my remote server. Some of the better posts I've made are collected at http://fundamental-code.com/ to give you an idea for the results.
My site has too much garbage content I wrote on it at the moment (in hindsight I wrote whatever came to mind). Half my pages aren't even exactly done yet.
I'm going to focus less on writing opinionated articles, more on useful articles and or tutorials on there or well thought out reflections related to lessons learned.
Short term I'm going fix minor things now, write more useful content now. Long term do a 2ndary blog redesign from scratch, writing my own custom functions.php file.
I have used jekyll,hexo and hugo, but it's really convenient to just be able to download any plugin you want with wordpress. I'd rather focus on writing than site design ,SEO, analytics, integrations, etc.
Also it's nice having a useful skill that always has a market use.
My site is on my userhandle if your curious, would like feedback too.
My experience currently is with Hugo. I have a DigitalOcean (DO) VPS that I use to host my Hugo blog.
The workflow is as follows:
1. Commit and push from local to my VPS.
2. My VPS receives the commit, a git hook runs server-side build for my Hugo blog. The script is pretty short.
3. Server finishes build process, new changes are reflected.
Feel free to experiment with that others are suggesting here, e.g. Netlify. Jsyk, I pay $5/month for my DO VPS and that is $0.50 cheaper than my everyday coffee.
You can host it yourself. Made by former Wordpress people that wanted to narrow the focus to be just about blogging (rather than a huge CMS).
For the self hosted version I use heroku (7$ / month) and this[1] library, remember to hook it up to an AWS bucket though else you'll loose your pics each time the server restarts.
[1] https://github.com/cobyism/ghost-on-heroku
Blot.im is like $20/yr and my domain is similar through google domains. Set up takes like 10 mins, and you just drop word docs into dropbox. There is some depth if you want to get into site structure, file hosting, etc.
Here is my site: npzero.com. For ~$3/mo its awesome.
But I'm also building a developer-centric blog platform now. it will support markdown, equations and code embedding.
I actually set up BlogSpot sites for other people for a few bucks. So if you want help with getting the look you want, I'm for hire.
It comes with built-in privacy protection* and a free email forwarding service. So all emails to hello@yourdomain.com could be forwarded to your email.
* with recent news around Google + privacy, I'd take this with a grain of salt.
Currently, namecheap is also quite popular, it's not especially elegant but it's cheap and secure. Tends to be my personal choice. I would immediately point your DNS to Cloudflare, after purchasing a domain, and manage your domain's records from Cloudflare.
Also worth checking out: https://www.gandi.net/ and https://njal.la/
Usually, namecheap is a safe bet. That'd be my recommendation, currently.
Great but undeserved reputation. Cloudflare will ban your domain if a BigCo asks. Just try adding “doxagram.is” to your CF account.
In this format things can be chronological, can be topic based, pages can be a work in progress, no default. Markdown editing. Files are stored as text also, no database. Choice of themes though nothing like Wordpress.
I host on personal domain on a $5 DO droplet.
https://bookdown.org/yihui/blogdown/
All the cool kids are using static sites these days.
The site is Kelly Weinersmith's (of SMBC fame): http://www.weinersmith.com/
If you could sync your files over to something like Google Docs / Dropbox Paper, edit them there, and see the changes be automatically published to GitHub, that would be nice.
Other than that, I find static sites very nice for blogs. I don't really think most blogs need something like WordPress, it does seem a bit overkill to me.