From 4a74413681f0fc6037f6187e2adc4a05cefedcac Mon Sep 17 00:00:00 2001 From: Ben Moon Date: Wed, 6 Jan 2016 11:06:16 +0000 Subject: [PATCH] Improve formatting of results Change to use the 'info' template with some custom css and handlebars to get it to display properly. Should now wrap correctly with sentences and words, and display 'lines' on separate lines. --- lib/DDG/Goodie/GibberishGenerator.pm | 16 +++++++++++----- .../gibberish_generator/content.handlebars | 9 +++++++++ .../gibberish_generator/gibberish_generator.css | 3 +++ t/GibberishGenerator.t | 14 +++++++++----- 4 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 share/goodie/gibberish_generator/content.handlebars create mode 100644 share/goodie/gibberish_generator/gibberish_generator.css diff --git a/lib/DDG/Goodie/GibberishGenerator.pm b/lib/DDG/Goodie/GibberishGenerator.pm index 380be6304..712cf024b 100644 --- a/lib/DDG/Goodie/GibberishGenerator.pm +++ b/lib/DDG/Goodie/GibberishGenerator.pm @@ -71,19 +71,25 @@ handle query_lc => sub { my $fmodifier = $modifier =~ s/^\w/\u$&/r; # E.g, "3 words of Swedish gibberish" my $formatted_input = "$amount @{[pluralise $amount, $type]} of $fmodifier gibberish"; + my @paragraphs = split "\n", $result; return $result, structured_answer => { id => 'gibberish_generator', name => 'Answer', data => { - title => $result, - subtitle => $formatted_input, + title => "$formatted_input", + gibberish_paragraphs => \@paragraphs, + use_paragraphs => $#paragraphs, }, templates => { - group => 'text', - moreAt => 0, + group => 'info', + options => { + moreAt => 0, + content => 'DDH.gibberish_generator.content', + chompContent => 1, + } } - } + }; }; 1; diff --git a/share/goodie/gibberish_generator/content.handlebars b/share/goodie/gibberish_generator/content.handlebars new file mode 100644 index 000000000..77471238e --- /dev/null +++ b/share/goodie/gibberish_generator/content.handlebars @@ -0,0 +1,9 @@ +{{#if use_paragraphs}} + {{#each gibberish_paragraphs}} +

{{this}}

+ {{/each}} +{{else}} +
+ {{{gibberish_paragraphs}}} +
+{{/if}} diff --git a/share/goodie/gibberish_generator/gibberish_generator.css b/share/goodie/gibberish_generator/gibberish_generator.css new file mode 100644 index 000000000..269935e49 --- /dev/null +++ b/share/goodie/gibberish_generator/gibberish_generator.css @@ -0,0 +1,3 @@ +.zci--gibberish_generator .c-info__title { + font-size: 1.143em; +} diff --git a/t/GibberishGenerator.t b/t/GibberishGenerator.t index 7c739f2ec..337ddba07 100644 --- a/t/GibberishGenerator.t +++ b/t/GibberishGenerator.t @@ -12,11 +12,15 @@ sub build_result { return $result, structured_answer => { id => 'gibberish_generator', name => 'Answer', - data => '-ANY-', - templates => { - group => 'text', - moreAt => 0, - }, + data => "-ANY-", + templates => { + group => 'info', + options => { + moreAt => 0, + content => 'DDH.gibberish_generator.content', + chompContent => 1, + } + } }; }