about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2015-01-11 23:03:26 +0000
committerEric Wong <normalperson@yhbt.net>2015-01-11 23:05:00 +0000
commitbb1a2f3cb75e8f36c30b160c89f403a7a1a6dd31 (patch)
treed414b440e91ab6eeed5efb3c2b060cca63ca882e
parent8ea1b2ac1e09a514acc45ecf304137049e6be5dd (diff)
downloadkcar-bb1a2f3cb75e8f36c30b160c89f403a7a1a6dd31.tar.gz
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).

ref: http://80x24.org/olddoc/
-rw-r--r--.document1
-rw-r--r--.gitignore3
-rw-r--r--.olddoc.yml (renamed from .wrongdoc.yml)0
-rw-r--r--GNUmakefile5
-rw-r--r--Rakefile33
-rw-r--r--kcar.gemspec14
-rw-r--r--pkg.mk71
7 files changed, 30 insertions, 97 deletions
diff --git a/.document b/.document
index 1ff42e3..cc0b416 100644
--- a/.document
+++ b/.document
@@ -2,6 +2,5 @@ LICENSE
 README
 TODO
 NEWS
-ChangeLog
 lib
 ext/kcar/kcar.c
diff --git a/.gitignore b/.gitignore
index 50ff446..a6c49b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,8 +11,7 @@ ext/kcar/Makefile
 ext/kcar/kcar.c
 log/
 pkg/
-/NEWS
-/ChangeLog
+/NEWS*
 /.manifest
 /GIT-VERSION-FILE
 /man
diff --git a/.wrongdoc.yml b/.olddoc.yml
index 4a5d841..4a5d841 100644
--- a/.wrongdoc.yml
+++ b/.olddoc.yml
diff --git a/GNUmakefile b/GNUmakefile
index b370afe..929eede 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -2,7 +2,6 @@ all::
 RSYNC_DEST := bogomips.org:/srv/bogomips/kcar
 RAGEL = ragel
 RLFLAGS = -G2
-rfproject := rainbows
 rfpackage := kcar
 pkg_extra += ext/kcar/kcar.c
 ext/kcar/kcar.c: ext/kcar/kcar.rl ext/kcar/kcar_http_common.rl
@@ -10,7 +9,3 @@ ext/kcar/kcar.c: ext/kcar/kcar.rl ext/kcar/kcar_http_common.rl
 include pkg.mk
 $(ext_pfx)/$(ext)/kcar.c: ext/kcar/kcar.c
 $(ext_pfx)/$(ext)/Makefile: ext/kcar/kcar.c
-ifneq ($(VERSION),)
-release::
-        $(RAKE) publish_news VERSION=$(VERSION)
-endif
diff --git a/Rakefile b/Rakefile
deleted file mode 100644
index d5e30f9..0000000
--- a/Rakefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# -*- encoding: binary -*-
-require 'wrongdoc'
-cgit_url = Wrongdoc.config[:cgit_url]
-git_url = Wrongdoc.config[:git_url]
-
-desc "post news article to rubyforge"
-task :publish_news do
-  require 'rubyforge'
-  spec = Gem::Specification.load('kcar.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
diff --git a/kcar.gemspec b/kcar.gemspec
index a0ca22e..f1dce8d 100644
--- a/kcar.gemspec
+++ b/kcar.gemspec
@@ -1,25 +1,23 @@
 ENV["VERSION"] or abort "VERSION= must be specified"
 manifest = File.readlines('.manifest').map! { |x| x.chomp! }
-require 'wrongdoc'
-extend Wrongdoc::Gemspec
+require 'olddoc'
+extend Olddoc::Gemspec
 name, summary, title = readme_metadata
 
 Gem::Specification.new do |s|
   s.name = %q{kcar}
   s.version = ENV["VERSION"].dup
-  s.homepage = Wrongdoc.config[:rdoc_url]
+  s.homepage = Olddoc.config['rdoc_url']
   s.authors = ["kcar hackers"]
-  s.date = Time.now.utc.strftime('%Y-%m-%d')
   s.description = readme_description
   s.email = %q{kcar@librelist.org}
   s.extra_rdoc_files = extra_rdoc_files(manifest)
   s.files = manifest
-  s.rdoc_options = rdoc_options
-  s.rubyforge_project = %q{rainbows}
   s.summary = summary
   s.test_files = Dir['test/test_*.rb']
   s.extensions = %w(ext/kcar/extconf.rb)
-  s.add_development_dependency('wrongdoc', '~> 1.5')
+  s.add_development_dependency('olddoc', '~> 1.0')
+  s.add_development_dependency('test-unit', '~> 3.0')
 
-  s.license = %w(GPLv2+ Ruby) # disabled for compatibility with older RubyGems
+  s.licenses = %w(GPLv2+ Ruby)
 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