diff options
author | David Yip <yipdw@member.fsf.org> | 2017-12-15 12:20:56 -0600 |
---|---|---|
committer | David Yip <yipdw@member.fsf.org> | 2017-12-15 12:20:56 -0600 |
commit | 82b2e224a26765caf743b24844912faa2de9873a (patch) | |
tree | 1ee49dd3dbcef7867ad93f875262951612815851 /app/lib/themes.rb | |
parent | 6abb0950c6f694607cdc6a0c564751400d52ad5a (diff) | |
parent | e0a573a2cef924fdfec2cd7ec96a712fe2de1511 (diff) |
Merge branch 'gs-master' into prevent-local-only-federation
Conflicts: db/schema.rb
Diffstat (limited to 'app/lib/themes.rb')
-rw-r--r-- | app/lib/themes.rb | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/app/lib/themes.rb b/app/lib/themes.rb index 863326e2d..55824a5c4 100644 --- a/app/lib/themes.rb +++ b/app/lib/themes.rb @@ -14,9 +14,27 @@ class Themes result = Hash.new Dir.glob(Rails.root.join('app', 'javascript', 'flavours', '*', 'theme.yml')) do |path| data = YAML.load_file(path) - name = File.basename(File.dirname(path)) + dir = File.dirname(path) + name = File.basename(dir) + locales = [] + screenshots = [] + if data['locales'] + Dir.glob(File.join(dir, data['locales'], '*.{js,json}')) do |locale| + localeName = File.basename(locale, File.extname(locale)) + locales.push(localeName) unless localeName.match(/defaultMessages|whitelist|index/) + end + end + if data['screenshot'] + if data['screenshot'].is_a? Array + screenshots = data['screenshot'] + else + screenshots.push(data['screenshot']) + end + end if data['pack'] data['name'] = name + data['locales'] = locales + data['screenshot'] = screenshots data['skin'] = { 'default' => [] } result[name] = data end |