Merge branch 'main' into use_http_client_2

This commit is contained in:
abias 2023-06-09 12:51:25 -04:00
commit 7832e98214
4 changed files with 10 additions and 7 deletions

View file

@ -7,7 +7,7 @@ import "bootstrap/js/dist/collapse";
import "bootstrap/js/dist/dropdown";
import { HistoryService } from "../shared/services/HistoryService";
const site = JSON.parse(window.isoData).site_res;
const site = window.isoData.site_res;
initializeSite(site);
const wrapper = (

View file

@ -9,6 +9,7 @@ import IsomorphicCookie from "isomorphic-cookie";
import { GetSite, GetSiteResponse, LemmyHttp, Site } from "lemmy-js-client";
import path from "path";
import process from "process";
import sanitize from "sanitize-html";
import serialize from "serialize-javascript";
import sharp from "sharp";
import { App } from "../shared/components/app/app";
@ -353,8 +354,8 @@ async function createSsrHtml(root: string, isoData: IsoDataOptionalSite) {
<!DOCTYPE html>
<html ${helmet.htmlAttributes.toString()} lang="en">
<head>
<script>window.isoData = JSON.stringify(${JSON.stringify(isoData)});</script>
<script>window.lemmyConfig = ${serialize(config)};</script>
<script>window.isoData = ${sanitize(JSON.stringify(isoData))}</script>
<script>window.lemmyConfig = ${serialize(config)}</script>
<!-- A remote debugging utility for mobile -->
${erudaStr}

View file

@ -22,7 +22,7 @@ export interface ILemmyConfig {
declare global {
interface Window {
isoData: string;
isoData: IsoData;
lemmyConfig?: ILemmyConfig;
}
}

View file

@ -204,11 +204,13 @@ export function hotRank(score: number, timeStr: string): number {
}
export function mdToHtml(text: string) {
return { __html: md.render(text) };
// restore '>' character to fix quotes
return { __html: md.render(text.replace(/&gt;/g, ">")) };
}
export function mdToHtmlNoImages(text: string) {
return { __html: mdNoImages.render(text) };
// restore '>' character to fix quotes
return { __html: mdNoImages.render(text.replace(/&gt;/g, ">")) };
}
export function mdToHtmlInline(text: string) {
@ -1164,7 +1166,7 @@ export function isBrowser() {
export function setIsoData(context: any): IsoData {
// If its the browser, you need to deserialize the data from the window
if (isBrowser()) {
return JSON.parse(window.isoData);
return window.isoData;
} else return context.router.staticContext;
}