Merge remote-tracking branch 'upstream/master' into travis
|
@ -12,7 +12,7 @@ and Docker Compose (version 1.6.0 or greater) already installed.
|
||||||
2. Configure the application:
|
2. Configure the application:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
user@host:szuru$ cp server/config.yaml.dist config.yaml
|
user@host:szuru$ cp server/config.yaml.dist server/config.yaml
|
||||||
user@host:szuru$ edit config.yaml
|
user@host:szuru$ edit config.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
19
client/app/manifest.json
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"name": "szurubooru",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/img/android-chrome-192x192.png",
|
||||||
|
"type": "image/png",
|
||||||
|
"sizes": "192x192"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/img/android-chrome-512x512.png",
|
||||||
|
"type": "image/png",
|
||||||
|
"sizes": "512x512"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"start_url": "/",
|
||||||
|
"theme_color": "#24aadd",
|
||||||
|
"background_color": "#ffffff",
|
||||||
|
"display": "standalone"
|
||||||
|
}
|
|
@ -185,9 +185,14 @@ function bundleBinaryAssets() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function bundleWebAppFiles() {
|
||||||
|
copyFile('./app/manifest.json', './public/manifest.json');
|
||||||
|
}
|
||||||
|
|
||||||
const config = getConfig();
|
const config = getConfig();
|
||||||
bundleConfig(config);
|
bundleConfig(config);
|
||||||
bundleBinaryAssets();
|
bundleBinaryAssets();
|
||||||
|
bundleWebAppFiles();
|
||||||
if (!process.argv.includes('--no-html')) {
|
if (!process.argv.includes('--no-html')) {
|
||||||
bundleHtml();
|
bundleHtml();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,25 @@
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset='utf-8'/>
|
<meta charset='utf-8'/>
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'>
|
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'/>
|
||||||
|
<meta name='theme-color' content='#24aadd'/>
|
||||||
|
<meta name='apple-mobile-web-app-capable' content='yes'/>
|
||||||
|
<meta name='apple-mobile-web-app-status-bar-style' content='black'/>
|
||||||
|
<meta name='msapplication-TileColor' content='#ffffff'/>
|
||||||
|
<meta name="msapplication-TileImage" content="/img/mstile-150x150.png">
|
||||||
<title>Loading...</title>
|
<title>Loading...</title>
|
||||||
<link href='/css/app.min.css' rel='stylesheet' type='text/css'/>
|
<link href='/css/app.min.css' rel='stylesheet' type='text/css'/>
|
||||||
<link href='/css/vendor.min.css' rel='stylesheet' type='text/css'/>
|
<link href='/css/vendor.min.css' rel='stylesheet' type='text/css'/>
|
||||||
<link rel='shortcut icon' type='image/png' href='/img/favicon.png'/>
|
<link rel='shortcut icon' type='image/png' href='/img/favicon.png'/>
|
||||||
|
<link rel='apple-touch-icon' sizes='180x180' href='/img/apple-touch-icon.png'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-640x1136.png' media='(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-750x1294.png' media='(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-1242x2148.png' media='(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-1125x2436.png' media='(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-1536x2048.png' media='(min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-1668x2224.png' media='(min-device-width: 834px) and (max-device-width: 834px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)'/>
|
||||||
|
<link rel='apple-touch-startup-image' href='/img/apple-touch-startup-image-2048x2732.png' media='(min-device-width: 1024px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) and (orientation: portrait)'/>
|
||||||
|
<link rel='manifest' href='/manifest.json'/>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id='top-navigation-holder'></div>
|
<div id='top-navigation-holder'></div>
|
||||||
|
|
BIN
client/img/android-chrome-192x192.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
client/img/android-chrome-512x512.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
client/img/apple-touch-icon.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
client/img/apple-touch-startup-image-1125x2436.png
Normal file
After Width: | Height: | Size: 374 KiB |
BIN
client/img/apple-touch-startup-image-1242x2148.png
Normal file
After Width: | Height: | Size: 424 KiB |
BIN
client/img/apple-touch-startup-image-1536x2048.png
Normal file
After Width: | Height: | Size: 569 KiB |
BIN
client/img/apple-touch-startup-image-1668x2224.png
Normal file
After Width: | Height: | Size: 639 KiB |
BIN
client/img/apple-touch-startup-image-2048x2732.png
Normal file
After Width: | Height: | Size: 850 KiB |
BIN
client/img/apple-touch-startup-image-640x1136.png
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
client/img/apple-touch-startup-image-750x1294.png
Normal file
After Width: | Height: | Size: 188 KiB |
BIN
client/img/mstile-150x150.png
Normal file
After Width: | Height: | Size: 32 KiB |
1
client/public/.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
data/
|
data/
|
||||||
|
manifest.json
|
||||||
index.htm
|
index.htm
|
||||||
|
|
|
@ -38,7 +38,7 @@ services:
|
||||||
## If more customizations that are not covered in `config.yaml.dist` are needed
|
## If more customizations that are not covered in `config.yaml.dist` are needed
|
||||||
## Comment this line if you are not going
|
## Comment this line if you are not going
|
||||||
## to supply a YAML file
|
## to supply a YAML file
|
||||||
- ./config.yaml:/opt/config.yaml
|
- ./server/config.yaml:/opt/app/config.yaml
|
||||||
|
|
||||||
## HTTP container for frontend
|
## HTTP container for frontend
|
||||||
frontend:
|
frontend:
|
||||||
|
|
|
@ -3,7 +3,7 @@ WORKDIR /opt/app
|
||||||
|
|
||||||
COPY alembic.ini wait-for-es generate-thumb ./
|
COPY alembic.ini wait-for-es generate-thumb ./
|
||||||
COPY szurubooru/ ./szurubooru/
|
COPY szurubooru/ ./szurubooru/
|
||||||
COPY config.yaml.dist ../
|
COPY config.yaml.dist ./
|
||||||
|
|
||||||
|
|
||||||
FROM python:3.6-slim
|
FROM python:3.6-slim
|
||||||
|
|
|
@ -46,10 +46,10 @@ def docker_config() -> Dict:
|
||||||
|
|
||||||
|
|
||||||
def read_config() -> Dict:
|
def read_config() -> Dict:
|
||||||
with open('../config.yaml.dist') as handle:
|
with open('config.yaml.dist') as handle:
|
||||||
ret = yaml.load(handle.read())
|
ret = yaml.load(handle.read())
|
||||||
if os.path.exists('../config.yaml'):
|
if os.path.exists('config.yaml'):
|
||||||
with open('../config.yaml') as handle:
|
with open('config.yaml') as handle:
|
||||||
ret = merge(ret, yaml.load(handle.read()))
|
ret = merge(ret, yaml.load(handle.read()))
|
||||||
if os.path.exists('/.dockerenv'):
|
if os.path.exists('/.dockerenv'):
|
||||||
ret = merge(ret, docker_config())
|
ret = merge(ret, docker_config())
|
||||||
|
|