[devdocsgjs/main: 1018/1867] [gnuplot] Dedent code blocks
- From: Andy Holmes <andyholmes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devdocsgjs/main: 1018/1867] [gnuplot] Dedent code blocks
- Date: Fri, 19 Nov 2021 23:47:39 +0000 (UTC)
commit 5adb7a7b32aa45551919d9d02177c4f3762a3fae
Author: Jed Fox <git twopointzero us>
Date: Tue Jan 14 12:16:06 2020 -0500
[gnuplot] Dedent code blocks
lib/docs/filters/gnuplot/clean_html.rb | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
---
diff --git a/lib/docs/filters/gnuplot/clean_html.rb b/lib/docs/filters/gnuplot/clean_html.rb
index e612982b..c14cab59 100644
--- a/lib/docs/filters/gnuplot/clean_html.rb
+++ b/lib/docs/filters/gnuplot/clean_html.rb
@@ -36,6 +36,10 @@ module Docs
node.remove if node.content.strip.empty?
end
+ css('pre').each do |node|
+ node.content = dedent(node.content)
+ end
+
# links generated are of the form (NB: some might have been removed):
# <B>{text} (p. <A HREF="{target}"><IMG ALT="[*]" SRC="crossref.png"></A>)<A
NAME="{anchor}"></A></B>
# transform to <b><a href="{target}>{text}</a></b>
@@ -56,6 +60,25 @@ module Docs
doc
end
+
+ private
+ def dedent string
+ lines = string.split "\n"
+ indent = lines.reduce Float::INFINITY do |least, line|
+ if line == ''
+ least
+ else
+ [least, line.index(line.lstrip)].min
+ end
+ end
+ if indent == Float::INFINITY
+ string
+ else
+ lines
+ .map { |line| line[indent..] || '' }
+ .join("\n")
+ end
+ end
end
end
end
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]