From 815703a922f4674f8a52f6e162a81365387db18e Mon Sep 17 00:00:00 2001 From: evazion Date: Sun, 26 Jan 2020 14:38:08 -0600 Subject: [PATCH] views: adjust more descriptions. * Add descriptions to more pages. * Adjust wiki/pool/forum pages to use an excerpt of the first paragraph. --- app/helpers/wiki_pages_helper.rb | 5 ----- app/logical/d_text.rb | 6 +++++- app/models/comment.rb | 2 +- app/models/forum_post.rb | 2 +- app/views/artists/index.html.erb | 2 ++ app/views/comments/_index_by_post.html.erb | 2 ++ app/views/explore/posts/popular.html.erb | 6 ++---- app/views/explore/posts/viewed.html.erb | 6 ++---- app/views/favorite_groups/show.html.erb | 2 +- app/views/forum_topics/show.html.erb | 1 + app/views/notes/index.html.erb | 2 ++ app/views/pool_versions/diff.html.erb | 2 +- app/views/pools/gallery.html.erb | 2 ++ app/views/pools/index.html.erb | 11 +++++------ app/views/pools/show.html.erb | 8 +++----- .../posts/partials/index/_seo_meta_tags.html.erb | 2 +- app/views/posts/show.html.erb | 4 ++-- app/views/sessions/new.html.erb | 2 ++ app/views/tags/index.html.erb | 2 ++ app/views/user_upgrades/new.html.erb | 2 ++ app/views/users/new.html.erb | 2 ++ app/views/wiki_pages/show.html.erb | 5 +---- 22 files changed, 42 insertions(+), 36 deletions(-) diff --git a/app/helpers/wiki_pages_helper.rb b/app/helpers/wiki_pages_helper.rb index 4adc6c319..0f0d2ebaa 100644 --- a/app/helpers/wiki_pages_helper.rb +++ b/app/helpers/wiki_pages_helper.rb @@ -1,9 +1,4 @@ module WikiPagesHelper - def wiki_page_excerpt(wiki_page) - text = strip_dtext(wiki_page.body).split(/\r\n|\r|\n/).first - text.truncate(160) - end - def wiki_page_other_names_list(wiki_page) names_html = wiki_page.other_names.map {|name| link_to(name, "http://www.pixiv.net/search.php?s_mode=s_tag_full&word=#{u(name)}", :class => "wiki-other-name")} names_html.join(" ").html_safe diff --git a/app/logical/d_text.rb b/app/logical/d_text.rb index ecacb4c64..6650516f0 100644 --- a/app/logical/d_text.rb +++ b/app/logical/d_text.rb @@ -262,9 +262,13 @@ class DText end # extract the first paragraph `needle` occurs in. - def self.excerpt(dtext, needle) + def self.extract_mention(dtext, needle) dtext = dtext.gsub(/\r\n|\r|\n/, "\n") excerpt = ActionController::Base.helpers.excerpt(dtext, needle, separator: "\n\n", radius: 1, omission: "") excerpt end + + def self.excerpt(text, length: 160) + strip_dtext(text).split(/\r\n|\r|\n/).first.to_s.truncate(length) + end end diff --git a/app/models/comment.rb b/app/models/comment.rb index 6c700cf98..7df4372b6 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -20,7 +20,7 @@ class Comment < ApplicationRecord mentionable( :message_field => :body, :title => ->(user_name) {"#{creator.name} mentioned you in a comment on post ##{post_id}"}, - :body => ->(user_name) {"@#{creator.name} mentioned you in a \"comment\":/posts/#{post_id}#comment-#{id} on post ##{post_id}:\n\n[quote]\n#{DText.excerpt(body, "@" + user_name)}\n[/quote]\n"} + :body => ->(user_name) {"@#{creator.name} mentioned you in a \"comment\":/posts/#{post_id}#comment-#{id} on post ##{post_id}:\n\n[quote]\n#{DText.extract_mention(body, "@" + user_name)}\n[/quote]\n"} ) api_attributes including: [:creator_name, :updater_name] diff --git a/app/models/forum_post.rb b/app/models/forum_post.rb index d32202151..84c7cf9ed 100644 --- a/app/models/forum_post.rb +++ b/app/models/forum_post.rb @@ -32,7 +32,7 @@ class ForumPost < ApplicationRecord mentionable( :message_field => :body, :title => ->(user_name) {%{#{creator.name} mentioned you in topic ##{topic_id} (#{topic.title})}}, - :body => ->(user_name) {%{@#{creator.name} mentioned you in topic ##{topic_id} ("#{topic.title}":[/forum_topics/#{topic_id}?page=#{forum_topic_page}]):\n\n[quote]\n#{DText.excerpt(body, "@" + user_name)}\n[/quote]\n}} + :body => ->(user_name) {%{@#{creator.name} mentioned you in topic ##{topic_id} ("#{topic.title}":[/forum_topics/#{topic_id}?page=#{forum_topic_page}]):\n\n[quote]\n#{DText.extract_mention(body, "@" + user_name)}\n[/quote]\n}} ) module SearchMethods diff --git a/app/views/artists/index.html.erb b/app/views/artists/index.html.erb index c03d18fa8..b707e1def 100644 --- a/app/views/artists/index.html.erb +++ b/app/views/artists/index.html.erb @@ -1,3 +1,5 @@ +<% meta_description "Search thousands of anime & hentai artists on #{Danbooru.config.app_name}." %> +
<%= render "search" %> diff --git a/app/views/comments/_index_by_post.html.erb b/app/views/comments/_index_by_post.html.erb index c2253bbec..551f63c2b 100644 --- a/app/views/comments/_index_by_post.html.erb +++ b/app/views/comments/_index_by_post.html.erb @@ -1,3 +1,5 @@ +<% meta_description "See comments on #{Danbooru.config.app_name}." %> +
<% if !CurrentUser.user.is_builder? %>
diff --git a/app/views/explore/posts/popular.html.erb b/app/views/explore/posts/popular.html.erb index e37c53508..47df3fc83 100644 --- a/app/views/explore/posts/popular.html.erb +++ b/app/views/explore/posts/popular.html.erb @@ -1,4 +1,6 @@ <% page_title "Popular Posts" %> +<% meta_description "The most popular posts per #{@scale}" %> + <%= render "posts/partials/common/secondary_links" %>
@@ -26,7 +28,3 @@ <%= post_previews_html(@posts) %>
- -<% content_for(:html_header) do %> - -<% end %> diff --git a/app/views/explore/posts/viewed.html.erb b/app/views/explore/posts/viewed.html.erb index 623c622bc..407fe3691 100644 --- a/app/views/explore/posts/viewed.html.erb +++ b/app/views/explore/posts/viewed.html.erb @@ -1,4 +1,6 @@ <% page_title "Most Viewed" %> +<% meta_description "The most viewed posts per #{@scale}" %> + <%= render "posts/partials/common/secondary_links" %>
@@ -17,7 +19,3 @@
- -<% content_for(:html_header) do %> - -<% end %> diff --git a/app/views/favorite_groups/show.html.erb b/app/views/favorite_groups/show.html.erb index 540511299..7d20483a6 100644 --- a/app/views/favorite_groups/show.html.erb +++ b/app/views/favorite_groups/show.html.erb @@ -1,4 +1,4 @@ -<% page_title "Favgroup: #{@favorite_group.pretty_name.titleize}" %> +<% page_title "Favgroup: #{@favorite_group.pretty_name}" %> <%= render "secondary_links" %>
diff --git a/app/views/forum_topics/show.html.erb b/app/views/forum_topics/show.html.erb index 5366c1e04..71f98afcf 100644 --- a/app/views/forum_topics/show.html.erb +++ b/app/views/forum_topics/show.html.erb @@ -1,4 +1,5 @@ <% page_title @forum_topic.title %> +<% meta_description(DText.excerpt(@forum_topic.original_post&.body)) %>
diff --git a/app/views/notes/index.html.erb b/app/views/notes/index.html.erb index f0a548f29..3558ebc77 100644 --- a/app/views/notes/index.html.erb +++ b/app/views/notes/index.html.erb @@ -1,3 +1,5 @@ +<% meta_description "See thousands of translated anime & hentai comics on #{Danbooru.config.app_name}." %> +

Notes

diff --git a/app/views/pool_versions/diff.html.erb b/app/views/pool_versions/diff.html.erb index d5b023b5c..671b36d29 100644 --- a/app/views/pool_versions/diff.html.erb +++ b/app/views/pool_versions/diff.html.erb @@ -1,4 +1,4 @@ -<% page_title "Pool Comparison: #{@pool_version.pretty_name.titleize}" %> +<% page_title "Pool Comparison: #{@pool_version.pretty_name}" %> <%= render "secondary_links" %>
diff --git a/app/views/pools/gallery.html.erb b/app/views/pools/gallery.html.erb index 8b1800299..1ffae1497 100644 --- a/app/views/pools/gallery.html.erb +++ b/app/views/pools/gallery.html.erb @@ -1,4 +1,6 @@ <% page_title "Pool Gallery" %> +<% meta_description "See thousands of translated anime & hentai comics, galleries, doujins, and more on #{Danbooru.config.app_name}." %> + <%= render "secondary_links" %>
diff --git a/app/views/pools/index.html.erb b/app/views/pools/index.html.erb index c65b4ebc0..f416a00f9 100644 --- a/app/views/pools/index.html.erb +++ b/app/views/pools/index.html.erb @@ -1,3 +1,8 @@ +<% page_title "Pools" %> +<% meta_description "See thousands of translated anime & hentai comics, galleries, doujins, and more on #{Danbooru.config.app_name}." %> + +<%= render "secondary_links" %> +
<%= render "search", :path => pools_path %> @@ -20,9 +25,3 @@ <%= numbered_paginator(@pools) %>
- -<%= render "secondary_links" %> - -<% content_for(:html_header) do %> - -<% end %> diff --git a/app/views/pools/show.html.erb b/app/views/pools/show.html.erb index f54b0def3..63059c010 100644 --- a/app/views/pools/show.html.erb +++ b/app/views/pools/show.html.erb @@ -1,4 +1,6 @@ -<% page_title "#{@pool.pretty_name.titleize} | Pool" %> +<% page_title @pool.pretty_name %> +<% meta_description("#{number_with_delimiter(@pool.post_count)} pages. #{DText.excerpt(@pool.description)}") %> + <%= render "secondary_links" %>
@@ -28,7 +30,3 @@
- -<% content_for(:html_header) do %> - -<% end %> diff --git a/app/views/posts/partials/index/_seo_meta_tags.html.erb b/app/views/posts/partials/index/_seo_meta_tags.html.erb index a9d984bcc..3654e5701 100644 --- a/app/views/posts/partials/index/_seo_meta_tags.html.erb +++ b/app/views/posts/partials/index/_seo_meta_tags.html.erb @@ -3,7 +3,7 @@ <% meta_description("#{Danbooru.config.canonical_app_name} is the original anime image 'booru. Find over 3.75 million anime pictures categorized by over 100 million tags.") %> <% else %> <% page_title("#{@post_set.humanized_tag_string} Art") %> - <% meta_description("Find over #{number_with_delimiter(@post_set.post_count)} #{@post_set.humanized_tag_string} images on #{Danbooru.config.app_name}. #{wiki_page_excerpt(@post_set.wiki_page) if @post_set.wiki_page}") %> + <% meta_description("See over #{number_with_delimiter(@post_set.post_count)} #{@post_set.humanized_tag_string} images on #{Danbooru.config.app_name}. #{DText.excerpt(@post_set.wiki_page&.body)}") %> <% end %> <%= tag.link href: posts_path(format: "atom", tags: params[:tags]), rel: "alternate", title: "ATOM", type: "application/atom+xml" %> diff --git a/app/views/posts/show.html.erb b/app/views/posts/show.html.erb index 5fa0165f3..f202fe205 100644 --- a/app/views/posts/show.html.erb +++ b/app/views/posts/show.html.erb @@ -1,4 +1,6 @@ <% page_title @post.presenter.humanized_essential_tag_string %> +<% meta_description "View this #{@post.image_width}x#{@post.image_height} #{number_to_human_size(@post.file_size)} image" %> + <%= render "posts/partials/common/secondary_links" %> <% content_for(:sidebar) do %> @@ -155,7 +157,6 @@ <%= post_view_count_js %> <% content_for(:html_header) do %> - <%= tag.meta name: "description", content: "View this #{@post.image_width}x#{@post.image_height} #{number_to_human_size(@post.file_size)} image" %> @@ -174,7 +175,6 @@ <% if @post.twitter_card_supported? %> <%= tag.meta name: "twitter:site", content: Danbooru.config.twitter_site %> - <%= tag.meta name: "twitter:description", content: "View this #{@post.image_width}x#{@post.image_height} #{number_to_human_size(@post.file_size)} image" %> <% if @post.visible? %> <%= tag.meta name: "twitter:image", content: @post.open_graph_image_url %> diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index 3e63dd51a..6548b9055 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -1,4 +1,6 @@ <% page_title "Login" %> +<% meta_description "Login to #{Danbooru.config.app_name}" %> + <%= render "secondary_links" %>
diff --git a/app/views/tags/index.html.erb b/app/views/tags/index.html.erb index 69d8366ef..c9d800545 100644 --- a/app/views/tags/index.html.erb +++ b/app/views/tags/index.html.erb @@ -1,3 +1,5 @@ +<% meta_description "Search thousands of tags on #{Danbooru.config.app_name}." %> +
<%= render "search" %> diff --git a/app/views/user_upgrades/new.html.erb b/app/views/user_upgrades/new.html.erb index 024a03589..cd39249f9 100644 --- a/app/views/user_upgrades/new.html.erb +++ b/app/views/user_upgrades/new.html.erb @@ -1,4 +1,6 @@ <% page_title "Account Upgrade" %> +<% meta_description "Upgrade to a Gold or Platinum account on #{Danbooru.config.app_name}." %> + <%= render "users/secondary_links" %>
diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb index 8a85e5c73..83b96e051 100644 --- a/app/views/users/new.html.erb +++ b/app/views/users/new.html.erb @@ -1,4 +1,6 @@ <% page_title "Sign up" %> +<% meta_description "Create a new account for free on #{Danbooru.config.app_name}." %> + <%= render "secondary_links" %>
diff --git a/app/views/wiki_pages/show.html.erb b/app/views/wiki_pages/show.html.erb index 794d3d992..52fa95699 100644 --- a/app/views/wiki_pages/show.html.erb +++ b/app/views/wiki_pages/show.html.erb @@ -1,4 +1,5 @@ <% page_title "#{@wiki_page.pretty_title.titleize} Wiki" %> +<% meta_description DText.excerpt(@wiki_page.body) %> <%= render "secondary_links" %> <%= render "sidebar" %> @@ -40,7 +41,3 @@ <%= render "wiki_pages/posts", wiki_page: @wiki_page %> <% end %> - -<% content_for(:html_header) do %> - <%= tag.meta name: "description", content: wiki_page_excerpt(@wiki_page) %> -<% end %>