mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-23 12:33:09 +02:00
This commit is contained in:
parent
2588e7ae9e
commit
45cb5cec04
5 changed files with 34 additions and 13 deletions
|
@ -184,7 +184,6 @@
|
||||||
"typescript": "2.7.2",
|
"typescript": "2.7.2",
|
||||||
"typescript-eslint-parser": "14.0.0",
|
"typescript-eslint-parser": "14.0.0",
|
||||||
"uglify-es": "3.3.9",
|
"uglify-es": "3.3.9",
|
||||||
"uglifyjs-webpack-plugin": "1.2.3",
|
|
||||||
"url-loader": "1.0.1",
|
"url-loader": "1.0.1",
|
||||||
"uuid": "3.2.1",
|
"uuid": "3.2.1",
|
||||||
"v-animate-css": "0.0.2",
|
"v-animate-css": "0.0.2",
|
||||||
|
|
|
@ -62,13 +62,17 @@
|
||||||
app = isMobile ? 'mobile' : 'desktop';
|
app = isMobile ? 'mobile' : 'desktop';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Script version
|
||||||
const ver = localStorage.getItem('v') || VERSION;
|
const ver = localStorage.getItem('v') || VERSION;
|
||||||
|
|
||||||
|
// Whether use raw version script
|
||||||
|
const raw = localStorage.getItem('useRawScript') == 'true';
|
||||||
|
|
||||||
// Load an app script
|
// Load an app script
|
||||||
// Note: 'async' make it possible to load the script asyncly.
|
// Note: 'async' make it possible to load the script asyncly.
|
||||||
// 'defer' make it possible to run the script when the dom loaded.
|
// 'defer' make it possible to run the script when the dom loaded.
|
||||||
const script = document.createElement('script');
|
const script = document.createElement('script');
|
||||||
script.setAttribute('src', `/assets/${app}.${ver}.${lang}.js`);
|
script.setAttribute('src', `/assets/${app}.${ver}.${lang}.${raw ? 'raw' : 'min'}.js`);
|
||||||
script.setAttribute('async', 'true');
|
script.setAttribute('async', 'true');
|
||||||
script.setAttribute('defer', 'true');
|
script.setAttribute('defer', 'true');
|
||||||
head.appendChild(script);
|
head.appendChild(script);
|
||||||
|
|
|
@ -160,10 +160,13 @@
|
||||||
<section class="other" v-show="page == 'other'">
|
<section class="other" v-show="page == 'other'">
|
||||||
<h1>高度な設定</h1>
|
<h1>高度な設定</h1>
|
||||||
<mk-switch v-model="debug" text="デバッグモードを有効にする">
|
<mk-switch v-model="debug" text="デバッグモードを有効にする">
|
||||||
<span>この設定はアカウントに保存されません。</span>
|
<span>この設定はブラウザに記憶されます。</span>
|
||||||
</mk-switch>
|
</mk-switch>
|
||||||
<mk-switch v-model="enableExperimental" text="実験的機能を有効にする">
|
<mk-switch v-model="enableExperimental" text="実験的機能を有効にする">
|
||||||
<span>この設定はアカウントに保存されません。実験的機能を有効にするとMisskeyの動作が不安定になる可能性があります。</span>
|
<span>実験的機能を有効にするとMisskeyの動作が不安定になる可能性があります。この設定はブラウザに記憶されます。</span>
|
||||||
|
</mk-switch>
|
||||||
|
<mk-switch v-model="useRawScript" text="生のスクリプトを読み込む">
|
||||||
|
<span>圧縮されていない「生の」スクリプトを使用します。サイズが大きいため、読み込みに時間がかかる場合があります。この設定はブラウザに記憶されます。</span>
|
||||||
</mk-switch>
|
</mk-switch>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -214,6 +217,7 @@ export default Vue.extend({
|
||||||
lang: localStorage.getItem('lang') || '',
|
lang: localStorage.getItem('lang') || '',
|
||||||
preventUpdate: localStorage.getItem('preventUpdate') == 'true',
|
preventUpdate: localStorage.getItem('preventUpdate') == 'true',
|
||||||
debug: localStorage.getItem('debug') == 'true',
|
debug: localStorage.getItem('debug') == 'true',
|
||||||
|
useRawScript: localStorage.getItem('useRawScript') == 'true',
|
||||||
enableExperimental: localStorage.getItem('enableExperimental') == 'true'
|
enableExperimental: localStorage.getItem('enableExperimental') == 'true'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
@ -236,6 +240,9 @@ export default Vue.extend({
|
||||||
debug() {
|
debug() {
|
||||||
localStorage.setItem('debug', this.debug ? 'true' : 'false');
|
localStorage.setItem('debug', this.debug ? 'true' : 'false');
|
||||||
},
|
},
|
||||||
|
useRawScript() {
|
||||||
|
localStorage.setItem('useRawScript', this.useRawScript ? 'true' : 'false');
|
||||||
|
},
|
||||||
enableExperimental() {
|
enableExperimental() {
|
||||||
localStorage.setItem('enableExperimental', this.enableExperimental ? 'true' : 'false');
|
localStorage.setItem('enableExperimental', this.enableExperimental ? 'true' : 'false');
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,8 @@ if (yn) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
localStorage.removeItem('v');
|
||||||
|
|
||||||
location.reload(true);
|
location.reload(true);
|
||||||
} else {
|
} else {
|
||||||
alert('問題が解決しない場合はサーバー管理者までお問い合せください。');
|
alert('問題が解決しない場合はサーバー管理者までお問い合せください。');
|
||||||
|
|
|
@ -6,7 +6,7 @@ import * as fs from 'fs';
|
||||||
import * as webpack from 'webpack';
|
import * as webpack from 'webpack';
|
||||||
import chalk from 'chalk';
|
import chalk from 'chalk';
|
||||||
import jsonImporter from 'node-sass-json-importer';
|
import jsonImporter from 'node-sass-json-importer';
|
||||||
const minify = require('html-minifier').minify;
|
const minifyHtml = require('html-minifier').minify;
|
||||||
const WebpackOnBuildPlugin = require('on-build-webpack');
|
const WebpackOnBuildPlugin = require('on-build-webpack');
|
||||||
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
|
const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
|
||||||
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
|
const ProgressBarPlugin = require('progress-bar-webpack-plugin');
|
||||||
|
@ -17,7 +17,7 @@ const constants = require('./src/const.json');
|
||||||
import config from './src/conf';
|
import config from './src/conf';
|
||||||
import { licenseHtml } from './src/common/build/license';
|
import { licenseHtml } from './src/common/build/license';
|
||||||
|
|
||||||
import langs from './locales';
|
import locales from './locales';
|
||||||
const meta = require('./package.json');
|
const meta = require('./package.json');
|
||||||
const version = meta.version;
|
const version = meta.version;
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ const isProduction = env === 'production';
|
||||||
global['faReplacement'] = faReplacement;
|
global['faReplacement'] = faReplacement;
|
||||||
|
|
||||||
global['collapseSpacesReplacement'] = html => {
|
global['collapseSpacesReplacement'] = html => {
|
||||||
return minify(html, {
|
return minifyHtml(html, {
|
||||||
collapseWhitespace: true,
|
collapseWhitespace: true,
|
||||||
collapseInlineTagWhitespace: true,
|
collapseInlineTagWhitespace: true,
|
||||||
keepClosingSlash: true
|
keepClosingSlash: true
|
||||||
|
@ -40,7 +40,14 @@ global['base64replacement'] = (_, key) => {
|
||||||
};
|
};
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
module.exports = Object.keys(langs).map(lang => {
|
const langs = Object.keys(locales);
|
||||||
|
|
||||||
|
let entries = langs.map(l => [l, false]);
|
||||||
|
entries = entries.concat(langs.map(l => [l, true]));
|
||||||
|
|
||||||
|
module.exports = entries.map(x => {
|
||||||
|
const [lang, doMinify] = x;
|
||||||
|
|
||||||
// Chunk name
|
// Chunk name
|
||||||
const name = lang;
|
const name = lang;
|
||||||
|
|
||||||
|
@ -58,10 +65,10 @@ module.exports = Object.keys(langs).map(lang => {
|
||||||
|
|
||||||
const output = {
|
const output = {
|
||||||
path: __dirname + '/built/web/assets',
|
path: __dirname + '/built/web/assets',
|
||||||
filename: `[name].${version}.${lang}.js`
|
filename: `[name].${version}.${lang}.${doMinify ? 'min' : 'raw'}.js`
|
||||||
};
|
};
|
||||||
|
|
||||||
const i18nReplacer = new I18nReplacer(lang);
|
const i18nReplacer = new I18nReplacer(lang as string);
|
||||||
global['i18nReplacement'] = i18nReplacer.replacement;
|
global['i18nReplacement'] = i18nReplacer.replacement;
|
||||||
|
|
||||||
//#region Define consts
|
//#region Define consts
|
||||||
|
@ -110,9 +117,8 @@ module.exports = Object.keys(langs).map(lang => {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
if (isProduction) {
|
if (doMinify) {
|
||||||
plugins.push(new webpack.optimize.ModuleConcatenationPlugin());
|
plugins.push(new webpack.optimize.ModuleConcatenationPlugin());
|
||||||
plugins.push(minify());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -235,6 +241,9 @@ module.exports = Object.keys(langs).map(lang => {
|
||||||
modules: ['node_modules', './webpack/loaders']
|
modules: ['node_modules', './webpack/loaders']
|
||||||
},
|
},
|
||||||
cache: true,
|
cache: true,
|
||||||
devtool: 'source-map'
|
devtool: 'source-map',
|
||||||
|
optimization: {
|
||||||
|
minimize: doMinify
|
||||||
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue