* For now, only one avatar possible, * uses mod_random_vcard_peertubelivechat, * mod_random_vcard_peertubelivechat has a new option with the avatar list (instead of a hardcoded avatar number) * Peertube lists available avatars files, and pass it to mod_random_vcard_peertubelivechat
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/env node
 | |
| /* eslint-env es6 */
 | |
| 
 | |
| const sharp = require('sharp')
 | |
| const path = require('path')
 | |
| 
 | |
| const inputDir = './assets/images/avatars/'
 | |
| const outputDir = './dist/server/avatars/'
 | |
| const backgrounds = [
 | |
|   '#ffffff',
 | |
|   '#000000',
 | |
|   '#ff0000',
 | |
|   '#00ff00',
 | |
|   '#0000ff',
 | |
|   '#808000',
 | |
|   '#ffff00',
 | |
|   '#008000',
 | |
|   '#008080',
 | |
|   '#00ffff',
 | |
|   '#000080',
 | |
|   '#800080',
 | |
|   '#ff00ff'
 | |
| ]
 | |
| const count = 10
 | |
| 
 | |
| for (let i = 1; i <= count; i++) {
 | |
|   const inputFile = path.join(inputDir, i + '.svg')
 | |
|   
 | |
|   for (let j = 0; j < backgrounds.length; j++) {
 | |
|     const out = i + (count * j)
 | |
|     const background = backgrounds[j]
 | |
|     sharp(inputFile).flatten({background}).resize(120, 120).jpeg({quality: 95, mozjpeg: true}).toFile(path.join(outputDir, out.toString() + '.jpg'))
 | |
|   }
 | |
| }
 | |
| 
 | |
| // Moderation bot avatar: for now taking image 2, and applying a grey background.
 | |
| {
 | |
|   const i = 2
 | |
|   const inputFile = path.join(inputDir, i + '.svg')
 | |
| 
 | |
|   const background = '#858da0'
 | |
|   const outputDir = './dist/server/bot_avatars/'
 | |
|   const out = 1
 | |
|   sharp(inputFile).flatten({background}).resize(120, 120).jpeg({quality: 95, mozjpeg: true}).toFile(path.join(outputDir, out.toString() + '.jpg'))
 | |
| }
 |