Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

This is a very simple blogging system for Go, intended to run on Plan 9. It serves static files from /, blog entries under a special directory, and can also host subdomains.


You need to have a Disqus account to enable commenting, although commenting can be easily disabled.

1. Run 'mk all; mk install; mk copyconfig; mk setupblog'. This will build the binary, copy it to your $home/bin/386/ directory, copy config.json to /lib/goweb.config, create $home/www/b/, and then copy page.html and archive.html to $home/www/b.
2. Edit /lib/goweb.conf. The only required elements are "Root", "Blogdir", and "Shortname", as shown in config.minimal. You can also add subdomains, as shown in config.json; the "Path" element is relative to the web root.
3. If you want to enable commenting, set your Disqus shortname in goweb.config. If you don't want comments, edit $home/www/b/page.html and remove the Disqus javascript block. You also definitely need to edit the html files to put your own name in there instead of mine.
3. Run $home/bin/386/goweb, preferably as user 'none'. I do this with the command "auth/none /usr/john/bin/386/goweb &", which I have also placed in my /cfg/$sysname/cpustart file so it will launch on reboot.

Detailed Description

Goweb uses the http and template packages, along with Russ Ross's Black Friday implementation of Markdown, to serve blog posts from a directory tree. It also uses Disqus to implement commenting.

All files live under a web root directory. By default, the b/ subdirectory of the webroot hosts a tree of blog posts in the following format:

b/	# Blog directory
	2011/	# Year
		11/	# Month
			19/	# Day
				0 # Post

The location of the web root, the name of the blog subdirectory, the site's Disqus shortname, and any subdomains are defined in the config file, which defaults to /lib/goweb.config.

Recent activity

John Floren

Commits by John Floren were pushed to floren/goblog

4ee6b68 - Newpost is a simple rc script to create a new post in the appropriate directory for today and send it to a running Acme instance. ...
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.