summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/components/News.vue21
-rw-r--r--vue.config.js4
2 files changed, 16 insertions, 9 deletions
diff --git a/src/components/News.vue b/src/components/News.vue
index e3f9bde..7ad844f 100644
--- a/src/components/News.vue
+++ b/src/components/News.vue
@@ -53,14 +53,11 @@
}
& .body {
- margin-top: 1ex;
+ margin-top: 2ex;
- & > br {
- margin-bottom: 1em;
- }
-
- & b {
+ &::v-deep > b {
display: block;
+ margin-bottom: 1ex;
}
& :any-link {
@@ -80,7 +77,7 @@
& q {
color: #009000;
- margin-top: 0.5em;
+ margin-top: 2ex;
display: inline-block;
&::before {
@@ -115,9 +112,17 @@ export default class News extends Vue {
@Prop({ default: 0 }) private from!: number;
private entries: NewsEntry[] = (newsEntries as NewsEntry[]).slice(this.from, this.count);
+ beautify () {
+ this.entries.forEach(entry => {
+ // FIXME: weird Vue bug
+ entry.html = entry.html.replace(/<br\/>/g,"<br></br>");
+ });
+ }
+
mounted () {
if (!process.env.VUE_APP_NEWS_JSON || !process.env.VUE_APP_NEWS_JSON.startsWith("https")) {
// TODO: allow arbitrary paths (no hardcoded news.json)
+ this.beautify();
return;
}
@@ -127,6 +132,7 @@ export default class News extends Vue {
if (newsCache !== null) {
this.entries = (JSON.parse(newsCache) as NewsEntry[]).slice(this.from, this.count);
+ this.beautify();
}
}
@@ -139,6 +145,7 @@ export default class News extends Vue {
.then(data => data.json())
.then(data => {
this.entries = (data as NewsEntry[]).slice(this.from, this.count);
+ this.beautify();
if (Reflect.has(self, "localStorage")) {
localStorage.setItem("newsCache", JSON.stringify(data));
diff --git a/vue.config.js b/vue.config.js
index be8982d..c481b94 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -6,7 +6,7 @@ module.exports = {
//integrity: true, // enable SRI in script/style tags
parallel: true,
configureWebpack: {
- plugins: [
+ plugins: process.env.NODE_ENV === "production" ? [
new CompressionPlugin({
filename: "[path].br[query]",
algorithm: "brotliCompress",
@@ -34,6 +34,6 @@ module.exports = {
return zopfli.gzip(input, compressionOptions, callback);
},
}),
- ],
+ ]: [],
}
}