io_splice RubyGem user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: ruby-io-splice@bogomips.org
Subject: [PATCH] switch documentation to olddoc
Date: Sat, 10 Jan 2015 03:07:47 +0000	[thread overview]
Message-ID: <20150110030747.GA3038@dcvr.yhbt.net> (raw)

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.

ref: http://80x24.org/olddoc/
---
 .document                    |  1 -
 .gitignore                   |  3 +-
 .wrongdoc.yml => .olddoc.yml |  6 +++-
 GNUmakefile                  |  5 ----
 Rakefile                     | 33 ----------------------
 io_splice.gemspec            |  8 ++----
 lib/io/splice.rb             |  2 +-
 pkg.mk                       | 67 ++++++++++++++++++--------------------------
 8 files changed, 38 insertions(+), 87 deletions(-)
 rename .wrongdoc.yml => .olddoc.yml (52%)
 delete mode 100644 Rakefile

diff --git a/.document b/.document
index b0426dd..f103038 100644
--- a/.document
+++ b/.document
@@ -1,7 +1,6 @@
 README
 LICENSE
 NEWS
-ChangeLog
 lib
 ext/io_splice/io_splice_ext.c
 LATEST
diff --git a/.gitignore b/.gitignore
index 12e180f..f3f0e27 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,8 +6,7 @@
 Makefile
 /GIT-VERSION-FILE
 /local.mk
-/NEWS
-/ChangeLog
+/NEWS*
 /.manifest
 /GIT-VERSION-FILE
 /man
diff --git a/.wrongdoc.yml b/.olddoc.yml
similarity index 52%
rename from .wrongdoc.yml
rename to .olddoc.yml
index 4cda800..edcfb13 100644
--- a/.wrongdoc.yml
+++ b/.olddoc.yml
@@ -2,4 +2,8 @@
 cgit_url: http://bogomips.org/ruby_io_splice.git
 git_url: git://bogomips.org/ruby_io_splice.git
 rdoc_url: http://bogomips.org/ruby_io_splice/
-changelog_start: v1.0.0
+public_email: ruby-io-splice@bogomips.org
+private_email: e@80x24.org
+ml_url: http://bogomips.org/ruby-io-splice/
+noindex:
+- LATEST
diff --git a/GNUmakefile b/GNUmakefile
index 7dfbbe6..f301d05 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -1,13 +1,8 @@
 all::
 RCOV = rcov
 RSYNC_DEST := bogomips.org:/srv/bogomips/ruby_io_splice
-rfproject := qrp
 rfpackage := io_splice
 include pkg.mk
-ifneq ($(VERSION),)
-release::
-	$(RAKE) publish_news VERSION=$(VERSION)
-endif
 rcov: build
 	$(RCOV) -I lib:ext/io_splice $(test_unit)
 .PHONY: rcov
diff --git a/Rakefile b/Rakefile
deleted file mode 100644
index a5938b5..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('io_splice.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('qrp', subject, body)
-end
diff --git a/io_splice.gemspec b/io_splice.gemspec
index 2731f23..281e3db 100644
--- a/io_splice.gemspec
+++ b/io_splice.gemspec
@@ -9,18 +9,16 @@ Gem::Specification.new do |s|
   s.name = %q{io_splice}
   s.version = ENV["VERSION"].dup
   s.authors = ["Ruby io_splice hackers"]
-  s.date = Time.now.utc.strftime('%Y-%m-%d')
   s.description = readme_description
   s.email = %q{ruby-io-splice@bogomips.org}
   s.extensions = %w(ext/io_splice/extconf.rb)
   s.extra_rdoc_files = extra_rdoc_files(manifest)
   s.files = manifest
-  s.homepage = Wrongdoc.config[:rdoc_url]
+  s.homepage = Olddoc.config['rdoc_url']
   s.summary = summary
   s.rdoc_options = rdoc_options
-  s.rubyforge_project = %q{qrp}
   s.test_files = Dir['test/test_*.rb']
-  s.add_development_dependency('wrongdoc', '~> 1.5')
+  s.add_development_dependency('olddoc', '~> 1.0')
 
-  # s.licenses = %w(LGPL) # accessor not compatible with older RubyGems
+  s.licenses = %w(LGPL) # accessor not compatible with older RubyGems
 end
diff --git a/lib/io/splice.rb b/lib/io/splice.rb
index 9b17aa3..8cd9db3 100644
--- a/lib/io/splice.rb
+++ b/lib/io/splice.rb
@@ -5,7 +5,7 @@
 module IO::Splice
   @warned = false
 
-  def self.__deprecated
+  def self.__deprecated # :nodoc:
     return if @warned
     warn("IO::Splice.{copy_stream,full} are deprecated " \
          "and to be removed in io_splice 5.x")
diff --git a/pkg.mk b/pkg.mk
index 247fa69..3c2e910 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
@@ -44,44 +45,39 @@ $(ext_dl): $(ext_src) $(ext_pfx_src) $(ext_pfx)/$(ext)/Makefile
 	$(MAKE) -C $(@D)
 lib := $(lib):$(ext_pfx)/$(ext)
 build: $(ext_dl)
+else
+build:
 endif
 
-pkg_extra := GIT-VERSION-FILE NEWS ChangeLog LATEST
-ChangeLog: GIT-VERSION-FILE .wrongdoc.yml
-	$(WRONGDOC) prepare
+pkg_extra += GIT-VERSION-FILE NEWS LATEST
+NEWS: GIT-VERSION-FILE .olddoc.yml
+	$(OLDDOC) prepare
+LATEST: NEWS
 
 manifest:
 	$(RM) .manifest
 	$(MAKE) .manifest
 
-.manifest: ChangeLog
+.manifest: $(pkg_extra)
 	(git ls-files && for i in $@ $(pkg_extra); do echo $$i; done) | \
 		LC_ALL=C sort > $@+
 	cmp $@+ $@ || mv $@+ $@
 	$(RM) $@+
 
-doc:: .document .wrongdoc.yml
-	find lib -type f -name '*.rbc' -exec rm -f '{}' ';'
+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 $(shell grep '^[A-Z]' .document) doc/
+	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:
@@ -117,23 +113,9 @@ $(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)
@@ -144,15 +126,13 @@ test_units := $(wildcard test/test_*.rb)
 test: test-unit
 test-unit: $(test_units)
 $(test_units): build
-	$(RUBY) -I $(lib) $@
+	$(RUBY) -I $(lib) $@ $(RUBY_TEST_OPTS)
 
 # this requires GNU coreutils variants
 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
@@ -160,9 +140,18 @@ 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
+check-warnings:
+	@(for i in $$(git ls-files '*.rb'| grep -v '^setup\.rb$$'); \
+	  do $(RUBY) -d -W2 -c $$i; done) | grep -v '^Syntax OK$$' || :
+
+ifneq ($(PLACEHOLDERS),)
+$(PLACEHOLDERS):
+	echo olddoc_placeholder > $@
+endif
 
 .PHONY: all .FORCE-GIT-VERSION-FILE doc test $(test_units) manifest
+.PHONY: check-warnings
-- 
EW


                 reply	other threads:[~2015-01-10  3:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/ruby_io_splice/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150110030747.GA3038@dcvr.yhbt.net \
    --to=e@80x24.org \
    --cc=ruby-io-splice@bogomips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/ruby_io_splice.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).