You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
823 B
Bash
44 lines
823 B
Bash
#!/bin/sh
|
|
|
|
# Mime types JSON source
|
|
URL='https://raw.githubusercontent.com/micnic/mime.json/master/index.json'
|
|
|
|
# Define intro to file
|
|
FILE='
|
|
// This is an automatically generated file, do not edit
|
|
package gemini
|
|
|
|
var mimeTypes = map[string]string{
|
|
// Mimetype for empty file extensions
|
|
"": "application/octet-stream",
|
|
|
|
// Begin file extension definitions
|
|
'
|
|
|
|
# Set break on new-line
|
|
IFS='
|
|
'
|
|
|
|
for line in $(curl -fL "$URL" | grep -E '".+"\s*:\s*".+"'); do
|
|
# Trim final whitespace
|
|
line=$(echo "$line" | sed -e 's|\s*$||')
|
|
|
|
# Ensure it ends in a comma
|
|
[ "${line%,}" = "$line" ] && line="${line},"
|
|
|
|
# Add to file
|
|
FILE="${FILE}${line}
|
|
"
|
|
done
|
|
|
|
# Add final statement to file
|
|
FILE="${FILE}
|
|
}
|
|
|
|
"
|
|
|
|
# Write to file
|
|
echo "$FILE" > 'gemini/mime.go'
|
|
|
|
# Check for valid go
|
|
goimports -w 'gemini/mime.go' |