]>
cat aescling's git repositories - mastodon.git/blob - app/lib/themes.rb
1 # frozen_string_literal: true
11 core
= YAML
.load_file(Rails
.root
.join('app', 'javascript', 'core', 'theme.yml'))
12 core
['pack'] = Hash
.new
unless core
['pack']
15 Dir
.glob(Rails
.root
.join('app', 'javascript', 'flavours', '*', 'theme.yml')) do |path
|
16 data = YAML
.load_file(path
)
17 dir
= File
.dirname(path
)
18 name
= File
.basename(dir
)
22 Dir
.glob(File
.join(dir
, data['locales'], '*.{js,json}')) do |locale
|
23 localeName
= File
.basename(locale
, File
.extname(locale
))
24 locales
.push(localeName
) unless localeName
.match(/defaultMessages|whitelist|index/)
28 if data['screenshot'].is_a
? Array
29 screenshots
= data['screenshot']
31 screenshots
.push(data['screenshot'])
36 data['locales'] = locales
37 data['screenshot'] = screenshots
38 data['skin'] = { 'default' => [] }
43 Dir
.glob(Rails
.root
.join('app', 'javascript', 'skins', '*', '*')) do |path
|
44 ext
= File
.extname(path
)
45 skin
= File
.basename(path
)
46 name
= File
.basename(File
.dirname(path
))
48 if File
.directory
?(path
)
50 Dir
.glob(File
.join(path
, '*.{css,scss}')) do |sheet
|
51 pack
.push(File
.basename(sheet
, File
.extname(sheet
)))
53 elsif ext
.match(/^\.s?css$/i
)
54 skin
= File
.basename(path
, ext
)
58 result
[name
]['skin'][skin
] = pack
81 @conf[name
]['skin'].keys
84 def flavours_and_skins
85 flavours
.map
do |flavour
|
86 [flavour
, skins_for(flavour
).map
{ |skin
| [flavour
, skin
] }]
This page took 0.127057 seconds and 4 git commands to generate.