views: replace .category-N css classes with .tag-type-N

* Replace the .category-N CSS classes on tags with .tag-type-N. Before
  we were inconsistent about whether tag colors were indicated with
  .category-N or .tag-type-N. Now it's always .tag-type-N.

* Fix various places to not use Tag.category_for. Tag.category_for does
  one Redis call per tag lookup, which leads to N Redis calls on many
  pages. This was inefficient because usually we either already had the
  tags from the database, or we could fetch them easily.
This commit is contained in:
evazion
2020-02-07 18:08:01 -06:00
parent 998eece95d
commit 7e67d3dd9c
21 changed files with 38 additions and 37 deletions

View File

@@ -1,8 +1,8 @@
<section>
<h1>Recent Changes (<%= link_to "all", wiki_page_versions_path %>)</h1>
<ul>
<% WikiPage.recent.each do |page| %>
<li class="category-<%= page.category_name %>"><%= link_to page.pretty_title, wiki_page_path(page) %></li>
<% WikiPage.order(updated_at: :desc).includes(:tag).limit(25).each do |page| %>
<li><%= link_to page.pretty_title, wiki_page_path(page), class: tag_class(page.tag) %></li>
<% end %>
</ul>
</section>

View File

@@ -5,7 +5,7 @@
<%= table_for @wiki_pages, width: "100%" do |t| %>
<% t.column "Title" do |wiki_page| %>
<span class="category-<%= wiki_page.category_name %>"><%= link_to_wiki wiki_page.title %></span>
<span class="<%= tag_class(wiki_page.tag) %>"><%= link_to_wiki wiki_page.title %></span>
<% end %>
<% t.column "Last edited" do |wiki_page| %>
<%= time_ago_in_words_tagged(wiki_page.updated_at) %>

View File

@@ -6,7 +6,7 @@
<% content_for(:content) do %>
<h1 id="wiki-page-title">
<%= link_to @wiki_page.pretty_title, posts_path(:tags => @wiki_page.title), :class => "tag-type-#{@wiki_page.category_name}" %>
<%= link_to @wiki_page.pretty_title, posts_path(tags: @wiki_page.title), class: tag_class(@wiki_page.tag) %>
<% if @wiki_page.is_locked? %>
(locked)