stanley lieberimport4a0aa0c11 years agoHistory
172 lines · 4.7 KB · Text
RawDownload
BARF - emit HTML DESCRIPTION	BARF utilizes rc(1) and command line tools to compile a structured	directory of files into a single page of HTML. Tagging and RSS 2.0	feeds have been implemented. SETUP	To enable BARF, add: 		conf_enable_barf 	to _werc/config under the site root. 	To configure BARF, copy or create the following files under the site	root (example files have been included in this distribution): 	_werc/barf/config		A list of variables that control various site options: 			barf_type=paste # blog, image, log, paste			posts_per_page=10			show_ascending=0			show_footer=0			show_header=0			show_sidebar=0			require_login=0 # if not logged in, redirect to /login			allow_anon=1 # allow posts without logging in			show_disqus=0 # include disqus comments template					# from _werc/barf/disqus 	_werc/barf/footer		HTML or markdown that will appear as the foot of		the BARF content area. 	_werc/barf/header		HTML or markdown that will appear at the head of		the BARF content area. 	_werc/barf/sidebar		HTML or markdown that will appear on one side of		the BARF content area. 	Finally, sample stylesheets are provided in the directory	pub/. Copy any of these to _werc/pub/style.css to try	them out. POSTS	Posts are stored in the directory src/ relative to the	site root. 	Directory names in src/ that do not match the regular	expression ^[0-9]*$ will not be included in the listing of	posts that are displayed in the browser. However, such	directories are still accessible when called directly via	an appropriately constructed URL. 	A post's directory contains the following files and	directories (an example post's directory has been	included in this distribution): 		body		date		img/		link		tags/		title 	The img/ directory contains images uploaded to the	image board, including the original image and a	thumbnail version, resized to no greater than 500	pixels wide and 600 pixels tall. 	The tags/ directory contains one empty file named	for each tag associated with the post. 	The site root contains a file named tags that is compr-	ised of an index of the tags associated with each post.	This index is consulted when searching for a given tag in	the web browser. UTILS	bin/gf		Parse Livejournal and Tumblr RSS feeds into		BARF posts.	bin/gk		Create a list of known tags in the site root in		a file named known_tags.	bin/gr		Parse Google Reader bundles into BARF posts.	bin/gt		Create an index of tags in the site root in a file		named tags. 	For more information on these tools, read the source. ADMIN	Any tool that can create, alter, or delete flat files	and directories is sufficient to administer a BARF. 	Web-based login and administration utilizes werc's	built-in user authentication: 		http://domain.com/login 	After login, links to edit and delete will appear in	each post's meta data. 	Web-based administration requires that the src/	directory and its sub-directories are writable by	the web server process. REQUIREMENTS	Plan 9		Site type image uses the convert utility from		ImageMagick to create thumbnails. A port is		available from fgb's contrib directory.	Unix		Plan9port or 9base are required. Site type		image requires ImageMagick and curl. Site		type url also requires curl if the user employs		the option to download remote URLs. These		utilities may be swapped out for others by		altering the source. SOURCE	http://plan9.stanleylieber.com/werc/apps/barf.tgz	https://bitbucket.org/stanleylieber/barf EXAMPLES	blog		http://stanleylieber.com		Main blog of Stanley Lieber. The script in		bin/gf is run from cron. It pulls, then parses		various feeds from Livejournal and Tumblr into		BARF blog posts.	image		http://img.stanleylieber.com		Hybrid public/private image board. Requires		standard werc authentication to post, but all		posts are visible to the public.	paste		http://okturing.com		Public pastebin. No authentication required		to post.	read		http://read.stanleylieber.com		Private archive of Google Reader bundles.		The script in bin/gr is run from cron. It		pulls, then parses the bundle feed into		BARF blog posts. The user logs in using		standard werc authentication to read		their private feed.	url		http://url.stanleylieber.com		Private index of URL bookmarks, similar		in functionality to the old delicious.com.		(In fact, most of the index was imported		from delicious.) LICENSE	Public domain. BUGS	On Plan 9, if the web server process is run as user	none (typically the case), directories used for entering	posts or uploading/downloading files from the browser	must be set world writable. This could prove problematic	on multiuser systems. 	ImageMagick should be replaced with standard Plan 9	tools.