|
@@ -22,13 +22,12 @@ import { CrowiRequest } from '~/interfaces/crowi-request';
|
|
|
// import { EditorMode, useEditorMode, useIsMobile } from '~/stores/ui';
|
|
// import { EditorMode, useEditorMode, useIsMobile } from '~/stores/ui';
|
|
|
import { CustomWindow } from '~/interfaces/global';
|
|
import { CustomWindow } from '~/interfaces/global';
|
|
|
import { IPageWithMeta } from '~/interfaces/page';
|
|
import { IPageWithMeta } from '~/interfaces/page';
|
|
|
-import { GrowiRendererConfig, RendererSettings } from '~/interfaces/services/renderer';
|
|
|
|
|
|
|
+import { RendererConfig } from '~/interfaces/services/renderer';
|
|
|
import { ISidebarConfig } from '~/interfaces/sidebar-config';
|
|
import { ISidebarConfig } from '~/interfaces/sidebar-config';
|
|
|
import { PageModel, PageDocument } from '~/server/models/page';
|
|
import { PageModel, PageDocument } from '~/server/models/page';
|
|
|
import UserUISettings, { UserUISettingsDocument } from '~/server/models/user-ui-settings';
|
|
import UserUISettings, { UserUISettingsDocument } from '~/server/models/user-ui-settings';
|
|
|
import Xss from '~/services/xss';
|
|
import Xss from '~/services/xss';
|
|
|
import { useSWRxCurrentPage, useSWRxPageInfo, useSWRxPage } from '~/stores/page';
|
|
import { useSWRxCurrentPage, useSWRxPageInfo, useSWRxPage } from '~/stores/page';
|
|
|
-import { useRendererSettings } from '~/stores/renderer';
|
|
|
|
|
import {
|
|
import {
|
|
|
usePreferDrawerModeByUser, usePreferDrawerModeOnEditByUser, useSidebarCollapsed, useCurrentSidebarContents, useCurrentProductNavWidth,
|
|
usePreferDrawerModeByUser, usePreferDrawerModeOnEditByUser, useSidebarCollapsed, useCurrentSidebarContents, useCurrentProductNavWidth,
|
|
|
} from '~/stores/ui';
|
|
} from '~/stores/ui';
|
|
@@ -49,13 +48,14 @@ import DisplaySwitcher from '../components/Page/DisplaySwitcher';
|
|
|
|
|
|
|
|
import {
|
|
import {
|
|
|
useCurrentUser, useCurrentPagePath,
|
|
useCurrentUser, useCurrentPagePath,
|
|
|
- useOwnerOfCurrentPage, useIsLatestRevision,
|
|
|
|
|
- useIsForbidden, useIsNotFound, useIsTrashPage, useShared, useShareLinkId, useIsSharedUser, useIsAbleToDeleteCompletely,
|
|
|
|
|
|
|
+ useIsLatestRevision,
|
|
|
|
|
+ useIsForbidden, useIsNotFound, useIsTrashPage, useIsSharedUser,
|
|
|
useAppTitle, useSiteUrl, useConfidential, useIsEnabledStaleNotification, useIsIdenticalPath,
|
|
useAppTitle, useSiteUrl, useConfidential, useIsEnabledStaleNotification, useIsIdenticalPath,
|
|
|
- useIsSearchServiceConfigured, useIsSearchServiceReachable, useIsMailerSetup, useDisableLinkSharing,
|
|
|
|
|
- useAclEnabled, useIsAclEnabled, useHasSlackConfig, useDrawioUri, useHackmdUri, useIsUserPage, useIsNotCreatable,
|
|
|
|
|
- useNoCdn, useEditorConfig, useCsrfToken, useIsSearchScopeChildrenAsDefault, useCurrentPageId, useCurrentPathname,
|
|
|
|
|
- useIsSlackConfigured, useGrowiRendererConfig, useIsBlinkedHeaderAtBoot,
|
|
|
|
|
|
|
+ useIsSearchServiceConfigured, useIsSearchServiceReachable, useDisableLinkSharing,
|
|
|
|
|
+ useHackmdUri,
|
|
|
|
|
+ useIsAclEnabled, useIsUserPage, useIsNotCreatable,
|
|
|
|
|
+ useCsrfToken, useIsSearchScopeChildrenAsDefault, useCurrentPageId, useCurrentPathname,
|
|
|
|
|
+ useIsSlackConfigured, useIsBlinkedHeaderAtBoot, useRendererConfig,
|
|
|
} from '../stores/context';
|
|
} from '../stores/context';
|
|
|
import { useXss } from '../stores/xss';
|
|
import { useXss } from '../stores/xss';
|
|
|
|
|
|
|
@@ -118,8 +118,7 @@ type Props = CommonProps & {
|
|
|
// isIndentSizeForced: boolean,
|
|
// isIndentSizeForced: boolean,
|
|
|
disableLinkSharing: boolean,
|
|
disableLinkSharing: boolean,
|
|
|
|
|
|
|
|
- rendererSettings: RendererSettings,
|
|
|
|
|
- growiRendererConfig: GrowiRendererConfig,
|
|
|
|
|
|
|
+ rendererConfig: RendererConfig,
|
|
|
|
|
|
|
|
// UI
|
|
// UI
|
|
|
userUISettings: UserUISettingsDocument | null
|
|
userUISettings: UserUISettingsDocument | null
|
|
@@ -187,8 +186,7 @@ const GrowiPage: NextPage<Props> = (props: Props) => {
|
|
|
// useIndentSize(props.adminPreferredIndentSize);
|
|
// useIndentSize(props.adminPreferredIndentSize);
|
|
|
useDisableLinkSharing(props.disableLinkSharing);
|
|
useDisableLinkSharing(props.disableLinkSharing);
|
|
|
|
|
|
|
|
- useRendererSettings(props.rendererSettings);
|
|
|
|
|
- useGrowiRendererConfig(props.growiRendererConfig);
|
|
|
|
|
|
|
+ useRendererConfig(props.rendererConfig);
|
|
|
// useRendererSettings(props.rendererSettingsStr != null ? JSON.parse(props.rendererSettingsStr) : undefined);
|
|
// useRendererSettings(props.rendererSettingsStr != null ? JSON.parse(props.rendererSettingsStr) : undefined);
|
|
|
// useGrowiRendererConfig(props.growiRendererConfigStr != null ? JSON.parse(props.growiRendererConfigStr) : undefined);
|
|
// useGrowiRendererConfig(props.growiRendererConfigStr != null ? JSON.parse(props.growiRendererConfigStr) : undefined);
|
|
|
|
|
|
|
@@ -437,19 +435,20 @@ async function injectServerConfigurations(context: GetServerSidePropsContext, pr
|
|
|
// props.adminPreferredIndentSize = configManager.getConfig('markdown', 'markdown:adminPreferredIndentSize');
|
|
// props.adminPreferredIndentSize = configManager.getConfig('markdown', 'markdown:adminPreferredIndentSize');
|
|
|
// props.isIndentSizeForced = configManager.getConfig('markdown', 'markdown:isIndentSizeForced');
|
|
// props.isIndentSizeForced = configManager.getConfig('markdown', 'markdown:isIndentSizeForced');
|
|
|
|
|
|
|
|
- props.rendererSettings = {
|
|
|
|
|
|
|
+ props.rendererConfig = {
|
|
|
isEnabledLinebreaks: configManager.getConfig('markdown', 'markdown:isEnabledLinebreaks'),
|
|
isEnabledLinebreaks: configManager.getConfig('markdown', 'markdown:isEnabledLinebreaks'),
|
|
|
isEnabledLinebreaksInComments: configManager.getConfig('markdown', 'markdown:isEnabledLinebreaksInComments'),
|
|
isEnabledLinebreaksInComments: configManager.getConfig('markdown', 'markdown:isEnabledLinebreaksInComments'),
|
|
|
adminPreferredIndentSize: configManager.getConfig('markdown', 'markdown:adminPreferredIndentSize'),
|
|
adminPreferredIndentSize: configManager.getConfig('markdown', 'markdown:adminPreferredIndentSize'),
|
|
|
isIndentSizeForced: configManager.getConfig('markdown', 'markdown:isIndentSizeForced'),
|
|
isIndentSizeForced: configManager.getConfig('markdown', 'markdown:isIndentSizeForced'),
|
|
|
- };
|
|
|
|
|
- props.growiRendererConfig = {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ plantumlUri: process.env.PLANTUML_URI ?? null,
|
|
|
|
|
+ blockdiagUri: process.env.BLOCKDIAG_URI ?? null,
|
|
|
|
|
+
|
|
|
|
|
+ // XSS Options
|
|
|
isEnabledXssPrevention: configManager.getConfig('markdown', 'markdown:xss:isEnabledPrevention'),
|
|
isEnabledXssPrevention: configManager.getConfig('markdown', 'markdown:xss:isEnabledPrevention'),
|
|
|
attrWhiteList: crowi.xssService.getAttrWhiteList(),
|
|
attrWhiteList: crowi.xssService.getAttrWhiteList(),
|
|
|
tagWhiteList: crowi.xssService.getTagWhiteList(),
|
|
tagWhiteList: crowi.xssService.getTagWhiteList(),
|
|
|
highlightJsStyleBorder: crowi.configManager.getConfig('crowi', 'customize:highlightJsStyleBorder'),
|
|
highlightJsStyleBorder: crowi.configManager.getConfig('crowi', 'customize:highlightJsStyleBorder'),
|
|
|
- plantumlUri: process.env.PLANTUML_URI ?? null,
|
|
|
|
|
- blockdiagUri: process.env.BLOCKDIAG_URI ?? null,
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
props.sidebarConfig = {
|
|
props.sidebarConfig = {
|