diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/dark216.rb | 40 | ||||
-rw-r--r-- | lib/olddoc.rb | 3 | ||||
-rw-r--r-- | lib/oldweb.rb | 1 | ||||
-rw-r--r-- | lib/oldweb/_head.rhtml | 6 |
4 files changed, 48 insertions, 2 deletions
diff --git a/lib/dark216.rb b/lib/dark216.rb new file mode 100644 index 0000000..a01584c --- /dev/null +++ b/lib/dark216.rb @@ -0,0 +1,40 @@ +# Copyright (C) 2019 all contributors <olddoc-public@80x24.org> +# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt> + +# Loosely derived from Darkfish in the main rdoc distribution +require_relative 'oldweb' + +# dark216 is an \RDoc template and not intended as a programming API. +# It respect prefers-color-scheme:light on newer browsers with CSS +# support, but favors darkness for power-savings. +# You may specify it as an \RDoc formatter: +# +# rdoc -f dark216 ... +class Dark216 < Oldweb + RDoc::RDoc.add_generator(self) # :nodoc: + include ERB::Util # :nodoc: + + # description of the generator + DESCRIPTION = 'minimal dark HTML generator' + + # default to a dark, web-safe (216 color) palette for power-savings. + # Color-capable browsers can respect the prefers-color-scheme:light + # @media query (browser support a work-in-progress) + STYLE = <<''.gsub(/^\s*/m, '').delete!("\n") # :nodoc: +@media screen { + *{background:#000;color:#ccc} + a{color:#69f} + a:visited{color:#96f} +} +@media screen AND (prefers-color-scheme:light) { + *{background:#fff;color:#333} + a{color:#00f} + a:visited{color:#808} +} + + def initialize(*args) # :nodoc: + super + @oldweb_style = STYLE + end +end +# :startdoc: diff --git a/lib/olddoc.rb b/lib/olddoc.rb index 3061e73..d5d6b37 100644 --- a/lib/olddoc.rb +++ b/lib/olddoc.rb @@ -1,4 +1,4 @@ -# Copyright (C) 2015-2016 all contributors <olddoc-public@80x24.org> +# Copyright (C) 2015-2019 all contributors <olddoc-public@80x24.org> # License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt> module Olddoc # :nodoc: autoload :Gemspec, 'olddoc/gemspec' @@ -16,3 +16,4 @@ module Olddoc # :nodoc: end end require_relative 'oldweb' +require_relative 'dark216' diff --git a/lib/oldweb.rb b/lib/oldweb.rb index ccc37f7..5b55019 100644 --- a/lib/oldweb.rb +++ b/lib/oldweb.rb @@ -91,6 +91,7 @@ class Oldweb cgit_url << '#n%d' # lineno @old_vcs_url = cgit_url end + @oldweb_style = nil # used by dark216 end def generate # :nodoc: diff --git a/lib/oldweb/_head.rhtml b/lib/oldweb/_head.rhtml index 720fd95..15a428e 100644 --- a/lib/oldweb/_head.rhtml +++ b/lib/oldweb/_head.rhtml @@ -8,4 +8,8 @@ type="application/atom+xml" /><% end %><meta http-equiv="Content-Type" -content="text/html; charset=<%= @options.charset %>"> +content="text/html; charset=<%= @options.charset %>"><% +if @oldweb_style +%><style><%= @oldweb_style %></style><% +end +%> |