From affd74c73ec8f11ae8f7f3fd790f837fc528ab34 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 13 Jan 2015 03:31:15 +0000 Subject: switch docs + website to olddoc wrongdoc was difficult to maintain because of the tidy-ffi dependency and the HTML5 changes in Darkfish could not be handled well by Tidy. olddoc is superior as it generates leaner HTML which loads faster, requires less scrolling and less processing power to render. Aesthetic comparisons are subjective of course but completely unimportant compared to speed and accessibility. The presence of images and CSS on the old (Darkfish-based) site probably set unreasonable expectations as to my ability and willingness to view such things. No more, the new website is entirely simple HTML which renders well with even the wimpiest browser (hell, olddoc even tries to generate readable raw HTML). --- .document | 2 -- .gitignore | 4 ++-- .olddoc.yml | 9 ++++++++ .wrongdoc.yml | 10 --------- GNUmakefile | 12 +++------- Rakefile | 62 --------------------------------------------------- pkg.mk | 71 +++++++++++++++++++---------------------------------------- 7 files changed, 37 insertions(+), 133 deletions(-) create mode 100644 .olddoc.yml delete mode 100644 .wrongdoc.yml delete mode 100644 Rakefile diff --git a/.document b/.document index fa4d03d..adb3add 100644 --- a/.document +++ b/.document @@ -1,7 +1,5 @@ -ChangeLog LICENSE NEWS README FAQ zbatery_1 -LATEST diff --git a/.gitignore b/.gitignore index e71d8b3..302d194 100644 --- a/.gitignore +++ b/.gitignore @@ -11,9 +11,9 @@ log/ pkg/ /vendor -/NEWS -/ChangeLog +/NEWS* /.manifest /GIT-VERSION-FILE /man /LATEST +*_1 diff --git a/.olddoc.yml b/.olddoc.yml new file mode 100644 index 0000000..d36b837 --- /dev/null +++ b/.olddoc.yml @@ -0,0 +1,9 @@ +--- +cgit_url: http://bogomips.org/zbatery.git +git_url: git://bogomips.org/zbatery.git +rdoc_url: http://zbatery.bogomip.org/ +merge_html: + zbatery_1: Documentation/zbatery.1.html +public_email: rainbows-public@bogomips.org +private_email: rainbows@bogomips.org +ml_url: http://bogomips.org/rainbows-public/ diff --git a/.wrongdoc.yml b/.wrongdoc.yml deleted file mode 100644 index 7f9fea0..0000000 --- a/.wrongdoc.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -cgit_url: http://bogomips.org/zbatery.git -git_url: git://bogomips.org/zbatery.git -rdoc_url: http://zbatery.bogomip.org/ -changelog_start: v0.3.1 -merge_html: - zbatery_1: Documentation/zbatery.1.html -public_email: rainbows-public@bogomips.org -private_email: rainbows@bogomips.org -ml_url: http://bogomips.org/rainbows-public/ diff --git a/GNUmakefile b/GNUmakefile index c53b494..e7e9df1 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,20 +1,14 @@ all:: RSYNC_DEST := zbatery.bogomip.org:/srv/zbatery -rfproject := rainbows rfpackage := zbatery +PLACEHOLDERS := zbatery_1 + man-rdoc: man html - for i in $(man1_rdoc); do echo > $$i; done doc:: man-rdoc include pkg.mk -ifneq ($(VERSION),) -release:: - $(RAKE) publish_news VERSION=$(VERSION) - $(RAKE) fm_update VERSION=$(VERSION) -endif base_bins := zbatery bins := $(addprefix bin/, $(base_bins)) -man1_rdoc := $(addsuffix _1, $(base_bins)) man1_bins := $(addsuffix .1, $(base_bins)) man1_paths := $(addprefix man/man1/, $(man1_bins)) clean: @@ -22,9 +16,9 @@ clean: man html: $(MAKE) -C Documentation install-$@ + pkg_extra += $(man1_paths) doc:: - $(RM) $(man1_rdoc) all:: test test: diff --git a/Rakefile b/Rakefile deleted file mode 100644 index d1ca285..0000000 --- a/Rakefile +++ /dev/null @@ -1,62 +0,0 @@ -# -*- encoding: binary -*- -autoload :Gem, 'rubygems' - -cgit_url = "http://bogomips.org/zbatery.git" -git_url = 'git://bogomips.org/zbatery.git' - -desc "read news article from STDIN and post to rubyforge" -task :publish_news do - require 'rubyforge' - spec = Gem::Specification.load('zbatery.gemspec') - tmp = Tempfile.new('rf-news') - _, subject, body = `git cat-file tag v#{spec.version}`.split(/\n\n/, 3) - tmp.puts subject - tmp.puts - tmp.puts spec.description.strip - tmp.puts "" - tmp.puts "* #{spec.homepage}" - tmp.puts "* #{spec.email}" - tmp.puts "* #{git_url}" - tmp.print "\nChanges:\n\n" - tmp.puts body - tmp.flush - system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?" - msg = File.readlines(tmp.path) - subject = msg.shift - blank = msg.shift - blank == "\n" or abort "no newline after subject!" - subject.strip! - body = msg.join("").strip! - - rf = RubyForge.new.configure - rf.login - rf.post_news('rainbows', subject, body) -end - -desc "post to FM" -task :fm_update do - require 'tempfile' - require 'net/http' - require 'net/netrc' - require 'json' - version = ENV['VERSION'] or abort "VERSION= needed" - uri = URI.parse('http://freecode.com/projects/zbatery/releases.json') - rc = Net::Netrc.locate('zbatery-fm') or abort "~/.netrc not found" - api_token = rc.password - _, subject, body = `git cat-file tag v#{version}`.split(/\n\n/, 3) - tmp = Tempfile.new('fm-changelog') - system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?" - changelog = File.read(tmp.path).strip - - req = { - "auth_code" => api_token, - "release" => { - "tag_list" => "Stable", - "version" => version, - "changelog" => changelog, - }, - }.to_json - Net::HTTP.start(uri.host, uri.port) do |http| - p http.post(uri.path, req, {'Content-Type'=>'application/json'}) - end -end diff --git a/pkg.mk b/pkg.mk index 4cd5bef..1e40915 100644 --- a/pkg.mk +++ b/pkg.mk @@ -1,7 +1,8 @@ RUBY = ruby RAKE = rake RSYNC = rsync -WRONGDOC = wrongdoc +OLDDOC = olddoc +RDOC = rdoc GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @./GIT-VERSION-GEN @@ -12,14 +13,6 @@ RUBY_VERSION := $(shell $(RUBY) -e 'puts RUBY_VERSION') RUBY_ENGINE := $(shell $(RUBY) -e 'puts((RUBY_ENGINE rescue "ruby"))') lib := lib -ifeq ($(shell test -f script/isolate_for_tests && echo t),t) -isolate_libs := tmp/isolate/$(RUBY_ENGINE)-$(RUBY_VERSION)/isolate.mk -$(isolate_libs): script/isolate_for_tests - @$(RUBY) script/isolate_for_tests --include $(isolate_libs) -lib := $(lib):$(ISOLATE_LIBS) -endif - ext := $(firstword $(wildcard ext/*)) ifneq ($(ext),) ext_pfx := tmp/ext/$(RUBY_ENGINE)-$(RUBY_VERSION) @@ -36,7 +29,7 @@ $(ext_pfx)/$(ext)/%: $(ext)/% $(ext_d) install -m 644 $< $@ $(ext_pfx)/$(ext)/Makefile: $(ext)/extconf.rb $(ext_d) $(ext_h) $(RM) -f $(@D)/*.o - cd $(@D) && $(RUBY) $(CURDIR)/$(ext)/extconf.rb + cd $(@D) && $(RUBY) $(CURDIR)/$(ext)/extconf.rb $(EXTCONF_ARGS) ext_sfx := _ext.$(DLEXT) ext_dl := $(ext_pfx)/$(ext)/$(notdir $(ext)_ext.$(DLEXT)) $(ext_dl): $(ext_src) $(ext_pfx_src) $(ext_pfx)/$(ext)/Makefile @@ -48,10 +41,10 @@ else build: endif -pkg_extra += GIT-VERSION-FILE NEWS ChangeLog LATEST -ChangeLog: GIT-VERSION-FILE .wrongdoc.yml - $(WRONGDOC) prepare -NEWS LATEST: ChangeLog +pkg_extra += GIT-VERSION-FILE NEWS LATEST +NEWS: GIT-VERSION-FILE .olddoc.yml + $(OLDDOC) prepare +LATEST: NEWS manifest: $(RM) .manifest @@ -63,28 +56,20 @@ manifest: cmp $@+ $@ || mv $@+ $@ $(RM) $@+ -doc:: .document .wrongdoc.yml $(pkg_extra) +doc:: .document .olddoc.yml $(pkg_extra) $(PLACEHOLDERS) -find lib -type f -name '*.rbc' -exec rm -f '{}' ';' -find ext -type f -name '*.rbc' -exec rm -f '{}' ';' $(RM) -r doc - $(WRONGDOC) all + $(RDOC) -f oldweb + $(OLDDOC) merge install -m644 COPYING doc/COPYING + install -m644 NEWS doc/NEWS + install -m644 NEWS.atom.xml doc/NEWS.atom.xml install -m644 $(shell LC_ALL=C grep '^[A-Z]' .document) doc/ ifneq ($(VERSION),) pkggem := pkg/$(rfpackage)-$(VERSION).gem pkgtgz := pkg/$(rfpackage)-$(VERSION).tgz -release_notes := release_notes-$(VERSION) -release_changes := release_changes-$(VERSION) - -release-notes: $(release_notes) -release-changes: $(release_changes) -$(release_changes): - $(WRONGDOC) release_changes > $@+ - $(VISUAL) $@+ && test -s $@+ && mv $@+ $@ -$(release_notes): - $(WRONGDOC) release_notes > $@+ - $(VISUAL) $@+ && test -s $@+ && mv $@+ $@ # ensures we're actually on the tagged $(VERSION), only used for release verify: @@ -120,31 +105,18 @@ $(pkgtgz): manifest fix-perms package: $(pkgtgz) $(pkggem) -test-release:: verify package $(release_notes) $(release_changes) - # make tgz release on RubyForge - @echo rubyforge add_release -f \ - -n $(release_notes) -a $(release_changes) \ - $(rfproject) $(rfpackage) $(VERSION) $(pkgtgz) - @echo gem push $(pkggem) - @echo rubyforge add_file \ - $(rfproject) $(rfpackage) $(VERSION) $(pkggem) -release:: verify package $(release_notes) $(release_changes) - # make tgz release on RubyForge - rubyforge add_release -f -n $(release_notes) -a $(release_changes) \ - $(rfproject) $(rfpackage) $(VERSION) $(pkgtgz) +release:: verify package # push gem to RubyGems.org gem push $(pkggem) - # in case of gem downloads from RubyForge releases page - rubyforge add_file \ - $(rfproject) $(rfpackage) $(VERSION) $(pkggem) else gem install-gem: GIT-VERSION-FILE $(MAKE) $@ VERSION=$(GIT_VERSION) endif -all:: test +all:: check test_units := $(wildcard test/test_*.rb) -test: test-unit +test: check +check: test-unit test-unit: $(test_units) $(test_units): build $(RUBY) -I $(lib) $@ $(RUBY_TEST_OPTS) @@ -154,8 +126,6 @@ ifneq ($(RSYNC_DEST),) publish_doc: -git set-file-times $(MAKE) doc - find doc/images -type f | \ - TZ=UTC xargs touch -d '1970-01-01 00:00:06' doc/rdoc.css $(MAKE) doc_gz $(RSYNC) -av doc/ $(RSYNC_DEST)/ git ls-files | xargs touch @@ -163,7 +133,7 @@ endif # Create gzip variants of the same timestamp as the original so nginx # "gzip_static on" can serve the gzipped versions directly. -doc_gz: docs = $(shell find doc -type f ! -regex '^.*\.\(gif\|jpg\|png\|gz\)$$') +doc_gz: docs = $(shell find doc -type f ! -regex '^.*\.gz$$') doc_gz: for i in $(docs); do \ gzip --rsyncable -9 < $$i > $$i.gz; touch -r $$i $$i.gz; done @@ -171,5 +141,10 @@ check-warnings: @(for i in $$(git ls-files '*.rb'| grep -v '^setup\.rb$$'); \ do $(RUBY) -d -W2 -c $$i; done) | grep -v '^Syntax OK$$' || : -.PHONY: all .FORCE-GIT-VERSION-FILE doc test $(test_units) manifest +ifneq ($(PLACEHOLDERS),) +$(PLACEHOLDERS): + echo olddoc_placeholder > $@ +endif + +.PHONY: all .FORCE-GIT-VERSION-FILE doc check test $(test_units) manifest .PHONY: check-warnings -- cgit v1.2.3-24-ge0c7