Convert tag category Javascript/CSS assets to ERB

This commit is contained in:
BrokenEagle
2017-12-24 11:01:17 -08:00
parent b48d5e59ad
commit d54b26c61d
9 changed files with 48 additions and 71 deletions

View File

@@ -9,7 +9,6 @@
Danbooru.Autocomplete.initialize_all = function() { Danbooru.Autocomplete.initialize_all = function() {
if (Danbooru.meta("enable-auto-complete") === "true") { if (Danbooru.meta("enable-auto-complete") === "true") {
Danbooru.Autocomplete.enable_local_storage = this.test_local_storage(); Danbooru.Autocomplete.enable_local_storage = this.test_local_storage();
this.update_static_metatags();
this.initialize_tag_autocomplete(); this.initialize_tag_autocomplete();
this.initialize_mention_autocomplete(); this.initialize_mention_autocomplete();
this.prune_local_storage(); this.prune_local_storage();
@@ -95,7 +94,7 @@
var $fields_multiple = $('[data-autocomplete="tag-query"], [data-autocomplete="tag-edit"]'); var $fields_multiple = $('[data-autocomplete="tag-query"], [data-autocomplete="tag-edit"]');
var $fields_single = $('[data-autocomplete="tag"]'); var $fields_single = $('[data-autocomplete="tag"]');
var prefixes = "-|~|" + $.map(JSON.parse(Danbooru.meta("tag-category-names")), function (category) { return category + ':'}).join('|'); var prefixes = "-|~|" + "<%= TagCategory.mapping.keys.map {|category| category + ':'}.join('|') %>";
var metatags = "order|-status|status|-rating|rating|-locked|locked|child|filetype|-filetype|" + var metatags = "order|-status|status|-rating|rating|-locked|locked|child|filetype|-filetype|" +
"-user|user|-approver|approver|commenter|comm|noter|noteupdater|artcomm|-fav|fav|ordfav|" + "-user|user|-approver|approver|commenter|comm|noter|noteupdater|artcomm|-fav|fav|ordfav|" +
"-pool|pool|ordpool|favgroup|-search|search"; "-pool|pool|ordpool|favgroup|-search|search";
@@ -329,7 +328,7 @@
"tagcount", "tagcount_asc", "tagcount", "tagcount_asc",
"rank", "rank",
"random" "random"
], ].concat(<%= TagCategory.short_name_list.map {|category| [category + "tags", category + "tags_asc"]}.flatten %>),
status: [ status: [
"any", "deleted", "active", "pending", "flagged", "banned" "any", "deleted", "active", "pending", "flagged", "banned"
], ],
@@ -347,11 +346,6 @@
], ],
} }
//This must be done as a separate function as Danbooru.meta does not exist at program initialization
Danbooru.Autocomplete.update_static_metatags = function () {
Array.prototype.push.apply(Danbooru.Autocomplete.static_metatags.order,$.map(JSON.parse(Danbooru.meta("short-tag-category-names")), function(shorttag) { return [shorttag + "tags", shorttag + "tags_asc"]}));
}
Danbooru.Autocomplete.static_metatag_source = function(term, resp, metatag) { Danbooru.Autocomplete.static_metatag_source = function(term, resp, metatag) {
var sub_metatags = this.static_metatags[metatag]; var sub_metatags = this.static_metatags[metatag];

View File

@@ -12,15 +12,9 @@
Danbooru.RelatedTag.initialize_buttons = function() { Danbooru.RelatedTag.initialize_buttons = function() {
this.common_bind("#related-tags-button", ""); this.common_bind("#related-tags-button", "");
var related_buttons; <% TagCategory.related_button_list.each do |category| %>
try { Danbooru.RelatedTag.common_bind("#related-<%= category %>-button", "<%= category %>");
related_buttons = JSON.parse(Danbooru.meta("related-tag-button-list")); <% end %>
} catch (e) {
related_buttons = [];
}
$.each(related_buttons, function(i,category) {
Danbooru.RelatedTag.common_bind("#related-" + category + "-button", category);
});
$("#find-artist-button").click(Danbooru.RelatedTag.find_artist); $("#find-artist-button").click(Danbooru.RelatedTag.find_artist);
} }

View File

@@ -1,4 +1,5 @@
@import "jquery-ui-1.11.2.min.scss"; @import "jquery-ui-1.11.2.min.scss";
@import "jquery.dropdown.scss"; @import "jquery.dropdown.scss";
@import "common/*"; @import "common/*";
@import "specific/*"; @import "specific/*";
@import "erb/posts";

View File

@@ -179,45 +179,15 @@ body[data-user-can-approve-posts="true"] .post-preview {
} }
} }
.category-0 a, a.tag-type-0, .ui-state-focus a.tag-type-0 { <% TagCategory.css_mapping.each do |category,cssmap| %>
color: $link_color; .category-<%= category %> a, a.tag-type-<%= category %>, .ui-state-focus a.tag-type-<%= category %> {
color: <%= cssmap["color"] %>;
&:hover { &:hover {
color: $link_hover_color; color: <%= cssmap["hover"] %>;
}
} }
} <% end %>
.category-1 a, a.tag-type-1, .ui-state-focus a.tag-type-1 {
color: #A00;
&:hover {
color: #B66;
}
}
.category-3 a, a.tag-type-3, .ui-state-focus a.tag-type-3 {
color: #A0A;
&:hover {
color: #B6B;
}
}
.category-4 a, a.tag-type-4, .ui-state-focus a.tag-type-4 {
color: #0A0;
&:hover {
color: #6B6;
}
}
.category-5 a, a.tag-type-5, .ui-state-focus a.tag-type-5 {
color: #F80;
&:hover {
color: #FA6;
}
}
.category-banned a, a.tag-type-banned,, .ui-state-focus a.tag-type-banned { .category-banned a, a.tag-type-banned,, .ui-state-focus a.tag-type-banned {
color: black; color: black;

View File

@@ -34,10 +34,15 @@ class TagCategory
@@header_mapping ||= Hash[Danbooru.config.full_tag_config_info.map {|k,v| [k,v["header"]]}] @@header_mapping ||= Hash[Danbooru.config.full_tag_config_info.map {|k,v| [k,v["header"]]}]
end end
# Returns a hash mapping for related tag buttons (javascripts/related_tag.js) # Returns a hash mapping for related tag buttons (javascripts/related_tag.js.erb)
def related_button_mapping def related_button_mapping
@@related_button_mapping ||= Hash[Danbooru.config.full_tag_config_info.map {|k,v| [k,v["relatedbutton"]]}] @@related_button_mapping ||= Hash[Danbooru.config.full_tag_config_info.map {|k,v| [k,v["relatedbutton"]]}]
end end
# Returns a hash mapping for CSS (stylesheets/posts.scss.erb)
def css_mapping
@@css_mapping ||= Hash[Danbooru.config.full_tag_config_info.map {|k,v| [v["category"],v["css"]]}]
end
end end
module Lists module Lists

View File

@@ -8,8 +8,6 @@
<% unless CurrentUser.disable_responsive_mode? %> <% unless CurrentUser.disable_responsive_mode? %>
<meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="viewport" content="width=device-width,initial-scale=1">
<% end %> <% end %>
<meta name="tag-category-names" content="<%= TagCategory.categories %>">
<meta name="short-tag-category-names" content="<%= TagCategory.short_name_list %>">
<meta name="current-user-name" content="<%= CurrentUser.name %>"> <meta name="current-user-name" content="<%= CurrentUser.name %>">
<meta name="current-user-id" content="<%= CurrentUser.id %>"> <meta name="current-user-id" content="<%= CurrentUser.id %>">
<meta name="current-user-can-approve-posts" content="<%= CurrentUser.can_approve_posts? %>"> <meta name="current-user-can-approve-posts" content="<%= CurrentUser.can_approve_posts? %>">

View File

@@ -157,7 +157,6 @@
<% end %> <% end %>
<% content_for(:html_header) do %> <% content_for(:html_header) do %>
<meta name="related-tag-button-list" content="<%= TagCategory.related_button_list %>">
<meta name="description" content="<%= @post.presenter.humanized_tag_string %>"> <meta name="description" content="<%= @post.presenter.humanized_tag_string %>">
<meta name="tags" content="<%= @post.tag_string %>"> <meta name="tags" content="<%= @post.tag_string %>">
<meta name="favorites" content="<%= @post.fav_string %>"> <meta name="favorites" content="<%= @post.fav_string %>">

View File

@@ -141,8 +141,4 @@
Upload - <%= Danbooru.config.app_name %> Upload - <%= Danbooru.config.app_name %>
<% end %> <% end %>
<% content_for(:html_header) do %>
<meta name="related-tag-button-list" content="<%= Danbooru.config.related_tag_button_list %>">
<% end %>
<%= render "posts/partials/common/secondary_links" %> <%= render "posts/partials/common/secondary_links" %>

View File

@@ -227,7 +227,11 @@ module Danbooru
"extra" => [], "extra" => [],
"header" => %{<h1 class="general-tag-list">Tags</h1>}, "header" => %{<h1 class="general-tag-list">Tags</h1>},
"humanized" => nil, "humanized" => nil,
"relatedbutton" => "General" "relatedbutton" => "General",
"css" => {
"color" => "$link_color",
"hover" => "$link_hover_color"
}
}, },
"character" => { "character" => {
"category" => 4, "category" => 4,
@@ -240,7 +244,11 @@ module Danbooru
"regexmap" => /^(.+?)(?:_\(.+\))?$/, "regexmap" => /^(.+?)(?:_\(.+\))?$/,
"formatstr" => "%s" "formatstr" => "%s"
}, },
"relatedbutton" => "Characters" "relatedbutton" => "Characters",
"css" => {
"color" => "#0A0",
"hover" => "#6B6"
}
}, },
"copyright" => { "copyright" => {
"category" => 3, "category" => 3,
@@ -253,7 +261,11 @@ module Danbooru
"regexmap" => //, "regexmap" => //,
"formatstr" => "(%s)" "formatstr" => "(%s)"
}, },
"relatedbutton" => "Copyrights" "relatedbutton" => "Copyrights",
"css" => {
"color" => "#A0A",
"hover" => "#B6B"
}
}, },
"artist" => { "artist" => {
"category" => 1, "category" => 1,
@@ -266,7 +278,11 @@ module Danbooru
"regexmap" => //, "regexmap" => //,
"formatstr" => "drawn by %s" "formatstr" => "drawn by %s"
}, },
"relatedbutton" => "Artists" "relatedbutton" => "Artists",
"css" => {
"color" => "#A00",
"hover" => "#B66"
}
}, },
"meta" => { "meta" => {
"category" => 5, "category" => 5,
@@ -274,7 +290,11 @@ module Danbooru
"extra" => [], "extra" => [],
"header" => %{<h2 class="meta-tag-list">Meta</h2>}, "header" => %{<h2 class="meta-tag-list">Meta</h2>},
"humanized" => nil, "humanized" => nil,
"relatedbutton" => nil "relatedbutton" => nil,
"css" => {
"color" => "#F80",
"hover" => "#FA6"
}
} }
} }
end end