diff --git a/scripts/erb.rb b/scripts/erb.rb index eb9a0be..53cf715 100644 --- a/scripts/erb.rb +++ b/scripts/erb.rb @@ -34,6 +34,22 @@ def generate_tags array return tags end +categorize_template_tags = %q{ +## Tools for <%= @ct_tag %> + +<%= @ct_head %> +<%= @ct_data %> + +}.gsub(/^ /, '') + +categorize_template_langs = %q{ +## The <%= @ct_lang %> based tools + +<%= @ct_head %> +<%= @ct_data %> + +}.gsub(/^ /, '') + template = %q{


@@ -88,6 +104,8 @@ WHW's open-source project and made it with ❤️ if you want contribute this pr tags = [] langs = [] +categorize_tags = {} +categorize_langs = {} head = "| Type | Name | Description | Star | Tags | Badges |\n" head = head + "| --- | --- | --- | --- | --- | --- |" tools = head + "\n" @@ -111,8 +129,14 @@ Dir.entries("./weapons/").each do | name | if name != '.' && name != '..' begin data = YAML.load(File.open("./weapons/#{name}")) + if data['type'] != "" && data['type'] != nil - weapons_obj[data['type'].downcase].push data + if weapons_obj[data['type'].downcase] != nil + weapons_obj[data['type'].downcase].push data + else + weapons_obj[data['type'].downcase] = [] + weapons_obj[data['type'].downcase].push data + end else weapons_obj['etc'].push data end @@ -121,6 +145,7 @@ Dir.entries("./weapons/").each do | name | end end end + weapons_obj.each do |key,value| weapons.concat value end @@ -169,6 +194,28 @@ weapons.each do | data | else puts name end + + tmp_lang = data['lang'] + tmp_tags = data['tags'] + + if tmp_tags != nil + tmp_tags.each do |t| + if categorize_tags[t] == nil + categorize_tags[t] = line + "\n" + else + categorize_tags[t] = categorize_tags[t] + line + "\n" + end + end + end + + if tmp_lang != nil + if categorize_langs[tmp_lang] == nil + categorize_langs[tmp_lang] = line + "\n" + else + categorize_langs[tmp_lang] = categorize_langs[tmp_lang] + line + "\n" + end + end + rescue => e puts e end @@ -177,3 +224,23 @@ end markdown = ERB.new(template, trim_mode: "%<>") #puts markdown.result File.write './README.md', markdown.result + +categorize_tags.each do |key,value| + if key != nil && key != "" + @ct_tag = key + @ct_head = head + "\n" + @ct_data = value + tag_markdown = ERB.new(categorize_template_tags, trim_mode: "%<>") + File.write "./categorize/tags/#{@ct_tag}.md", tag_markdown.result + end +end + +categorize_langs.each do |key,value| + if key != nil && key != "" + @ct_lang = key + @ct_head = head + "\n" + @ct_data = value + lang_markdown = ERB.new(categorize_template_langs, trim_mode: "%<>") + File.write "./categorize/langs/#{@ct_lang}.md", lang_markdown.result + end +end \ No newline at end of file