如何动态检查远程字体图标是否存在? [英] How do I dynamically check to see if a remote font-icon exists?

查看:19
本文介绍了如何动态检查远程字体图标是否存在?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将这些Devicon font icons用于各种编程语言。

他们没有所有的图标,但他们有最多的图标。

我要做的是为此字体库不支持的语言使用默认图标。

以下是他们的说明:

<!-- in your header -->
<link rel="stylesheet" href="https://cdn.rawgit.com/konpa/devicon/master/devicon.min.css">

<!-- in your body -->
<i class="devicon-ruby-plain"></i>

所以在我看来,我有这个:

        <div class="vote-icon">
          <i class="devicon-<%= question.language %>-plain"></i>
        </div>

其中question.language是用户提交的问题语言。

现在,当这生成一个不存在的图标时,它只会在那里留下一个空白。

但在用默认图标替换之前,我不太确定如何检查该图标是否存在。

想法?

推荐答案

因此,我实际执行此操作的唯一方法是分析Devicons提供的图标列表。

所以我在帮助器方法的数组中手动创建了一个列表,然后在其中执行了nil检查。

所以看起来是这样的:

  def language_icon(language)
    devicons = ["amazonwebservices", "android", "angularjs", "apache", "appcelerator", "apple", "atom", "backbonejs",
      "bitbucket", "bootstrap", "bower", "c", "chrome", "codeigniter", "coffeescript", "confluence", "cplusplus", "csharp",
      "css3", "d3js", "debian", "django", "docker", "doctrine", "dot-net", "drupal", "erlang", "firefox", "foundation", "gimp",
      "git", "github", "gitlab", "go", "grunt", "gulp", "heroku", "html5", "ie10", "illustrator", "inkscape", "java", "javascript",
      "jeet", "jetbrains", "jquery", "krakenjs", "laravel", "less", "linux", "meteor", "mongodb", "moodle", "mysql", "nginx",
      "nodejs", "nodewebkit", "orale", "photoshop", "php", "phpstorm", "postgresql", "python", "rails", "react", "redhat", "redis",
      "ruby", "safari", "sass", "sourcetree", "ssh", "symfony", "travis", "trello", "ubuntu", "vim", "windows8", "wordpress", "yii", "zend"]

    if devicons.include?(language)
      content_tag(:i, "", class: "devicon-#{language}-plain")
    else
      content_tag(:i, "", class: "fa fa-diamond")
    end
  end

这就像一个护身符。

我希望这对其他人有帮助!

这篇关于如何动态检查远程字体图标是否存在?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆