@cdmbase/wiki-browser 12.0.18-alpha.34 → 12.0.18-alpha.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/markdown/CreateMarkdownDialog.d.ts +1 -1
- package/lib/components/markdown/CreateMarkdownDialog.d.ts.map +1 -1
- package/lib/components/markdown/CreateMarkdownDialog.js +73 -4
- package/lib/components/markdown/CreateMarkdownDialog.js.map +1 -1
- package/lib/pages/Markdown/MarkdownPageWithParams.d.ts.map +1 -1
- package/lib/pages/Markdown/MarkdownPageWithParams.js +69 -23
- package/lib/pages/Markdown/MarkdownPageWithParams.js.map +1 -1
- package/lib/templates/content/content-manifest.json +43 -0
- package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md +691 -0
- package/lib/templates/content/docs/tests/github-sync-test.md +1 -1
- package/lib/utils/docsNavigation.d.ts +5 -0
- package/lib/utils/docsNavigation.d.ts.map +1 -1
- package/lib/utils/docsNavigation.js +24 -1
- package/lib/utils/docsNavigation.js.map +1 -1
- package/lib/utils/markdownLoader.d.ts +4 -0
- package/lib/utils/markdownLoader.d.ts.map +1 -1
- package/lib/utils/markdownLoader.js +14 -23
- package/lib/utils/markdownLoader.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
interface CreateMarkdownDialogProps {
|
|
3
3
|
isOpen: boolean;
|
|
4
4
|
onClose: () => void;
|
|
5
|
-
onCreate: (categoryId: string, slug: string, title: string, content: string, isNewCategory: boolean, categoryTitle?: string) => Promise<void>;
|
|
5
|
+
onCreate: (categoryId: string, slug: string, title: string, content: string, isNewCategory: boolean, categoryTitle?: string, subpath?: string) => Promise<void>;
|
|
6
6
|
}
|
|
7
7
|
export declare const CreateMarkdownDialog: React.FC<CreateMarkdownDialogProps>;
|
|
8
8
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateMarkdownDialog.d.ts","sourceRoot":"","sources":["../../../src/components/markdown/CreateMarkdownDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CreateMarkdownDialog.d.ts","sourceRoot":"","sources":["../../../src/components/markdown/CreateMarkdownDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAuB5D,UAAU,yBAAyB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CACN,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+UpE,CAAC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';import {getAllCategoriesMetadataSync}from'../../utils/markdownLoader.js';
|
|
1
|
+
import {jsx,jsxs}from'react/jsx-runtime';import {useState,useMemo,useEffect}from'react';import {getAllCategoriesMetadataSync}from'../../utils/markdownLoader.js';import {getSubpathsForCategorySync}from'../../utils/docsNavigation.js';/** Slugify a path segment: lowercase, spaces/symbols → hyphens, only [a-z0-9-]. */
|
|
2
|
+
function slugifySegment(segment) {
|
|
3
|
+
return segment.trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
|
|
4
|
+
}
|
|
5
|
+
/** Slugify full subpath (e.g. "Github Sync" → "github-sync", "A/B" → "a/b"). */
|
|
6
|
+
function slugifySubpath(path) {
|
|
7
|
+
if (!path.trim()) return '';
|
|
8
|
+
return path.split('/').map(s => slugifySegment(s)).filter(Boolean).join('/');
|
|
9
|
+
}
|
|
10
|
+
const CreateMarkdownDialog = ({
|
|
2
11
|
isOpen,
|
|
3
12
|
onClose,
|
|
4
13
|
onCreate
|
|
@@ -12,6 +21,14 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
|
|
|
12
21
|
const [isNewCategory, setIsNewCategory] = useState(false);
|
|
13
22
|
const [newCategoryName, setNewCategoryName] = useState('');
|
|
14
23
|
const [newCategoryId, setNewCategoryId] = useState('');
|
|
24
|
+
const [subpath, setSubpath] = useState('');
|
|
25
|
+
const [subpathCustom, setSubpathCustom] = useState('');
|
|
26
|
+
const [isNewSubpath, setIsNewSubpath] = useState(false);
|
|
27
|
+
const selectedCategoryId = isNewCategory ? newCategoryId : categoryId;
|
|
28
|
+
const subpathOptions = useMemo(() => selectedCategoryId && !isNewCategory ? getSubpathsForCategorySync(selectedCategoryId) : [], [selectedCategoryId, isNewCategory]);
|
|
29
|
+
const effectiveSubpathRaw = subpathOptions.length > 0 && !isNewSubpath ? subpath : subpathCustom.trim();
|
|
30
|
+
const effectiveSubpath = effectiveSubpathRaw ? slugifySubpath(effectiveSubpathRaw) : '';
|
|
31
|
+
const fullSlugHint = effectiveSubpath ? `${effectiveSubpath.replace(/\//g, '-')}-${slug || '…'}` : null;
|
|
15
32
|
useEffect(() => {
|
|
16
33
|
if (isOpen) {
|
|
17
34
|
const cats = getAllCategoriesMetadataSync();
|
|
@@ -62,6 +79,14 @@ import {jsx,jsxs}from'react/jsx-runtime';import {useState,useEffect}from'react';
|
|
|
62
79
|
setError('A category with this ID already exists');
|
|
63
80
|
return;
|
|
64
81
|
}
|
|
82
|
+
if (effectiveSubpath && !/^[a-z0-9/-]+$/.test(effectiveSubpath)) {
|
|
83
|
+
setError('Subcategory path can only contain letters, numbers, hyphens, and slashes');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (effectiveSubpath && (effectiveSubpath.startsWith('/') || effectiveSubpath.endsWith('/'))) {
|
|
87
|
+
setError('Subcategory path must not start or end with a slash');
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
65
90
|
setIsCreating(true);
|
|
66
91
|
setError(null);
|
|
67
92
|
try {
|
|
@@ -82,11 +107,14 @@ headers:
|
|
|
82
107
|
Start writing your content here...
|
|
83
108
|
|
|
84
109
|
`;
|
|
85
|
-
await onCreate(finalCategoryId, slug, title, content, isNewCategory, isNewCategory ? newCategoryName : undefined);
|
|
110
|
+
await onCreate(finalCategoryId, slug, title, content, isNewCategory, isNewCategory ? newCategoryName : undefined, effectiveSubpath || undefined);
|
|
86
111
|
// Reset form
|
|
87
112
|
setIsNewCategory(false);
|
|
88
113
|
setNewCategoryName('');
|
|
89
114
|
setNewCategoryId('');
|
|
115
|
+
setSubpath('');
|
|
116
|
+
setSubpathCustom('');
|
|
117
|
+
setIsNewSubpath(false);
|
|
90
118
|
setCategoryId(categories.length > 0 ? categories[0].id : '');
|
|
91
119
|
setSlug('');
|
|
92
120
|
setTitle('');
|
|
@@ -155,7 +183,12 @@ Start writing your content here...
|
|
|
155
183
|
})]
|
|
156
184
|
}) : jsxs("select", {
|
|
157
185
|
value: categoryId,
|
|
158
|
-
onChange: e =>
|
|
186
|
+
onChange: e => {
|
|
187
|
+
setCategoryId(e.target.value);
|
|
188
|
+
setSubpath('');
|
|
189
|
+
setSubpathCustom('');
|
|
190
|
+
setIsNewSubpath(false);
|
|
191
|
+
},
|
|
159
192
|
className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary",
|
|
160
193
|
children: [jsx("option", {
|
|
161
194
|
value: "",
|
|
@@ -165,6 +198,42 @@ Start writing your content here...
|
|
|
165
198
|
children: cat.title
|
|
166
199
|
}, cat.id))]
|
|
167
200
|
})]
|
|
201
|
+
}), !isNewCategory && selectedCategoryId && jsxs("div", {
|
|
202
|
+
children: [jsxs("div", {
|
|
203
|
+
className: "flex items-center justify-between mb-2",
|
|
204
|
+
children: [jsx("label", {
|
|
205
|
+
className: "block text-sm font-medium text-gray-600 dark:text-gray-400",
|
|
206
|
+
children: "Subcategory (optional)"
|
|
207
|
+
}), subpathOptions.length > 0 && jsx("button", {
|
|
208
|
+
type: "button",
|
|
209
|
+
onClick: () => {
|
|
210
|
+
setIsNewSubpath(!isNewSubpath);
|
|
211
|
+
if (!isNewSubpath) setSubpathCustom('');else setSubpath('');
|
|
212
|
+
},
|
|
213
|
+
className: "text-xs text-primary hover:underline",
|
|
214
|
+
children: isNewSubpath ? 'Select existing' : '+ New subcategory path'
|
|
215
|
+
})]
|
|
216
|
+
}), subpathOptions.length === 0 || isNewSubpath ? jsx("input", {
|
|
217
|
+
type: "text",
|
|
218
|
+
value: subpathCustom,
|
|
219
|
+
onChange: e => setSubpathCustom(e.target.value),
|
|
220
|
+
placeholder: "e.g. preferences/pageSettings",
|
|
221
|
+
className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary font-mono text-sm"
|
|
222
|
+
}) : jsxs("select", {
|
|
223
|
+
value: subpath,
|
|
224
|
+
onChange: e => setSubpath(e.target.value),
|
|
225
|
+
className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary",
|
|
226
|
+
children: [jsx("option", {
|
|
227
|
+
value: "",
|
|
228
|
+
children: "None (top level under category)"
|
|
229
|
+
}), subpathOptions.map(path => jsx("option", {
|
|
230
|
+
value: path,
|
|
231
|
+
children: path
|
|
232
|
+
}, path))]
|
|
233
|
+
}), jsx("p", {
|
|
234
|
+
className: "mt-1 text-xs text-gray-500 dark:text-gray-400",
|
|
235
|
+
children: "Nested folder under category. Stored as slug: lowercase, spaces \u2192 hyphens (e.g. Github Sync \u2192 github-sync)."
|
|
236
|
+
})]
|
|
168
237
|
}), jsxs("div", {
|
|
169
238
|
children: [jsxs("label", {
|
|
170
239
|
className: "block text-sm font-medium mb-1",
|
|
@@ -194,7 +263,7 @@ Start writing your content here...
|
|
|
194
263
|
className: "w-full px-3 py-2 border border-gray-300 dark:border-gray-700 rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-primary font-mono text-sm"
|
|
195
264
|
}), jsx("p", {
|
|
196
265
|
className: "mt-1 text-xs text-gray-500 dark:text-gray-400",
|
|
197
|
-
children:
|
|
266
|
+
children: fullSlugHint ? `Full URL slug: ${fullSlugHint}` : 'URL-friendly identifier (auto-generated from title)'
|
|
198
267
|
})]
|
|
199
268
|
}), error && jsx("div", {
|
|
200
269
|
className: "p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-md",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateMarkdownDialog.js","sources":["../../../src/components/markdown/CreateMarkdownDialog.tsx"],"sourcesContent":[null],"names":["
|
|
1
|
+
{"version":3,"file":"CreateMarkdownDialog.js","sources":["../../../src/components/markdown/CreateMarkdownDialog.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownPageWithParams.d.ts","sourceRoot":"","sources":["../../../src/pages/Markdown/MarkdownPageWithParams.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"MarkdownPageWithParams.d.ts","sourceRoot":"","sources":["../../../src/pages/Markdown/MarkdownPageWithParams.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AA2B3D;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EA2c1C,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {useState,useEffect}from'react';import {useParams,useNavigate}from'@remix-run/react';import {MarkdownPage}from'@admin-layout/tailwind-ui/components/Markdown/MarkdownPage.js';import {getCategoryByIdSync,loadArticleContent,getFilePathBySlug,clearManifestCache}from'../../utils/markdownLoader.js';import {MarkdownEditor}from'../../components/markdown/MarkdownEditor.js';import {GitHubSyncStatusDialog}from'../../components/markdown/GitHubSyncStatusDialog.js';import {CreateMarkdownDialog}from'../../components/markdown/CreateMarkdownDialog.js';import {getCompleteGitHubConfig,getGitHubFilePath,getGitHubFile,updateGitHubFile,getGitHubRepoInfo}from'../../utils/githubSync.js';/**
|
|
1
|
+
import {jsxs,Fragment,jsx}from'react/jsx-runtime';import {useRef,useState,useEffect}from'react';import {useParams,useNavigate,useLocation}from'@remix-run/react';import {MarkdownPage}from'@admin-layout/tailwind-ui/components/Markdown/MarkdownPage.js';import {getCategoryByIdSync,loadArticleContent,getFilePathBySlug,clearManifestCache,parseFrontmatter,extractHeadings}from'../../utils/markdownLoader.js';import {MarkdownEditor}from'../../components/markdown/MarkdownEditor.js';import {GitHubSyncStatusDialog}from'../../components/markdown/GitHubSyncStatusDialog.js';import {CreateMarkdownDialog}from'../../components/markdown/CreateMarkdownDialog.js';import {getCompleteGitHubConfig,getGitHubFilePath,getGitHubFile,updateGitHubFile,getGitHubRepoInfo}from'../../utils/githubSync.js';/**
|
|
2
2
|
* Wrapper component that uses Remix useParams to automatically load article data.
|
|
3
3
|
* This maintains backward compatibility with the existing routing structure.
|
|
4
4
|
*
|
|
@@ -10,6 +10,8 @@ const MarkdownPageWithParams = () => {
|
|
|
10
10
|
articleSlug
|
|
11
11
|
} = useParams();
|
|
12
12
|
const navigate = useNavigate();
|
|
13
|
+
const location = useLocation();
|
|
14
|
+
const createStateAppliedRef = useRef(false);
|
|
13
15
|
const [markdown, setMarkdown] = useState(null);
|
|
14
16
|
const [previousMarkdown, setPreviousMarkdown] = useState(null);
|
|
15
17
|
const [nextMarkdown, setNextMarkdown] = useState(null);
|
|
@@ -23,19 +25,48 @@ const MarkdownPageWithParams = () => {
|
|
|
23
25
|
status: null,
|
|
24
26
|
message: ''
|
|
25
27
|
});
|
|
28
|
+
// Reset create-state ref when navigating to a different article so next create can apply
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
createStateAppliedRef.current = false;
|
|
31
|
+
}, [articleSlug, categoryId]);
|
|
32
|
+
// When navigating here after creating a new page, open in editor with the created content
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
const state = location.state;
|
|
35
|
+
if (state?.openInEditor && state?.initialContent != null && !createStateAppliedRef.current) {
|
|
36
|
+
createStateAppliedRef.current = true;
|
|
37
|
+
setMarkdown({
|
|
38
|
+
id: `${categoryId ?? ''}-${articleSlug ?? ''}`,
|
|
39
|
+
content: state.initialContent,
|
|
40
|
+
title: state.initialTitle ?? '',
|
|
41
|
+
description: '',
|
|
42
|
+
slug: articleSlug ?? '',
|
|
43
|
+
author: 'Documentation',
|
|
44
|
+
updatedAt: 'Recently',
|
|
45
|
+
categoryId: categoryId ?? '',
|
|
46
|
+
htmlContent: '',
|
|
47
|
+
headings: []
|
|
48
|
+
});
|
|
49
|
+
if (state.filePath) setFilePath(state.filePath);
|
|
50
|
+
setIsEditMode(true);
|
|
51
|
+
}
|
|
52
|
+
}, [location.state, articleSlug, categoryId]);
|
|
26
53
|
useEffect(() => {
|
|
27
54
|
if (articleSlug) {
|
|
28
55
|
const loadContent = async () => {
|
|
29
56
|
// Try loading with categoryId if available (for GitHub fallback)
|
|
30
57
|
const articleData = await loadArticleContent(articleSlug, categoryId);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
58
|
+
// Don't overwrite with null if we already have content from just-created page
|
|
59
|
+
if (articleData !== null || !createStateAppliedRef.current) {
|
|
60
|
+
setMarkdown(articleData);
|
|
61
|
+
}
|
|
62
|
+
// Load file path for GitHub sync (skip if we already set from create state)
|
|
63
|
+
if (!createStateAppliedRef.current) {
|
|
64
|
+
const manifestPath = await getFilePathBySlug(articleSlug);
|
|
65
|
+
if (manifestPath) {
|
|
66
|
+
setFilePath(getGitHubFilePath(manifestPath));
|
|
67
|
+
} else {
|
|
68
|
+
setFilePath(`packages-modules/cdebase-wiki/browser/src/templates/content/docs/${categoryId || 'docs'}/${articleSlug}.md`);
|
|
69
|
+
}
|
|
39
70
|
}
|
|
40
71
|
// Calculate previous/next markdown from category
|
|
41
72
|
if (articleData) {
|
|
@@ -164,20 +195,27 @@ const MarkdownPageWithParams = () => {
|
|
|
164
195
|
message: message
|
|
165
196
|
});
|
|
166
197
|
// Update markdown state with new content directly (no need to reload from server)
|
|
198
|
+
// Parse frontmatter so we only render the body (hide meta/frontmatter from display)
|
|
167
199
|
if (markdown) {
|
|
168
200
|
const {
|
|
169
201
|
marked
|
|
170
202
|
} = await import('marked');
|
|
171
|
-
const htmlContent = await marked.parse(content);
|
|
172
203
|
const {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
204
|
+
frontmatter,
|
|
205
|
+
body
|
|
206
|
+
} = parseFrontmatter(content);
|
|
207
|
+
const markdownBody = body || content;
|
|
208
|
+
const htmlContent = await marked.parse(markdownBody);
|
|
209
|
+
const headings = extractHeadings(markdownBody);
|
|
210
|
+
const meta = frontmatter.meta || {};
|
|
176
211
|
setMarkdown({
|
|
177
212
|
...markdown,
|
|
178
213
|
content: content,
|
|
179
214
|
htmlContent: htmlContent,
|
|
180
|
-
headings: headings
|
|
215
|
+
headings: headings,
|
|
216
|
+
title: meta.title || frontmatter.title || markdown.title,
|
|
217
|
+
description: meta.description || frontmatter.description || frontmatter.excerpt || markdown.description,
|
|
218
|
+
updatedAt: meta.updated || frontmatter.updatedAt || frontmatter.date || markdown.updatedAt
|
|
181
219
|
});
|
|
182
220
|
} else {
|
|
183
221
|
// If markdown is null, try to reload from GitHub
|
|
@@ -197,7 +235,7 @@ const MarkdownPageWithParams = () => {
|
|
|
197
235
|
setIsLoading(false);
|
|
198
236
|
}
|
|
199
237
|
};
|
|
200
|
-
const handleCreateNewPage = async (newCategoryId, newSlug, newTitle, content, isNewCategory, categoryTitle) => {
|
|
238
|
+
const handleCreateNewPage = async (newCategoryId, newSlug, newTitle, content, isNewCategory, categoryTitle, subpath) => {
|
|
201
239
|
// Get GitHub config from env
|
|
202
240
|
let config = githubConfig || getCompleteGitHubConfig();
|
|
203
241
|
if (!config) {
|
|
@@ -224,20 +262,21 @@ const MarkdownPageWithParams = () => {
|
|
|
224
262
|
} catch (repoError) {
|
|
225
263
|
throw new Error(`Cannot access repository: ${repoError.message}. Check GITHUB_OWNER, GITHUB_REPO, and GITHUB_TOKEN.`);
|
|
226
264
|
}
|
|
227
|
-
// Construct file path for new page
|
|
228
|
-
// Ensure category ID is URL-safe
|
|
265
|
+
// Construct file path for new page (supports nested subpath e.g. preferences/pageSettings)
|
|
229
266
|
const safeCategoryId = newCategoryId.replace(/[^a-zA-Z0-9-_]/g, '-');
|
|
230
267
|
const safeSlug = newSlug.replace(/[^a-zA-Z0-9-_]/g, '-');
|
|
231
|
-
|
|
232
|
-
const
|
|
268
|
+
const safeSubpath = subpath?.replace(/[^a-zA-Z0-9/_-]/g, '').replace(/\/+/g, '/').replace(/^\/|\/$/g, '') ?? '';
|
|
269
|
+
const fullSlug = safeSubpath ? `${safeSubpath.replace(/\//g, '-')}-${safeSlug}` : safeSlug;
|
|
270
|
+
const pathMiddle = safeSubpath ? `${safeCategoryId}/${safeSubpath}` : safeCategoryId;
|
|
271
|
+
const filePath = `packages-modules/cdebase-wiki/browser/src/templates/content/docs/${pathMiddle}/${safeSlug}.md`;
|
|
233
272
|
// Create file on GitHub (no SHA since it's new)
|
|
234
273
|
const commitMessage = isNewCategory ? `Create new category "${categoryTitle || newCategoryId}" and page: ${newTitle}` : `Create new page: ${newTitle}`;
|
|
235
274
|
// Save locally first (if in development/server environment)
|
|
236
275
|
let localSaveSuccess = false;
|
|
237
276
|
let localSaveError = null;
|
|
238
277
|
try {
|
|
239
|
-
// Construct local path: category/slug.md
|
|
240
|
-
const localPath = `${
|
|
278
|
+
// Construct local path: category[/subpath]/slug.md
|
|
279
|
+
const localPath = `${pathMiddle}/${safeSlug}.md`;
|
|
241
280
|
// Try to save locally via API endpoint
|
|
242
281
|
const response = await fetch('/api/markdown/save', {
|
|
243
282
|
method: 'POST',
|
|
@@ -278,9 +317,16 @@ const MarkdownPageWithParams = () => {
|
|
|
278
317
|
status: 'success',
|
|
279
318
|
message: message
|
|
280
319
|
});
|
|
281
|
-
// Navigate to the new page
|
|
320
|
+
// Navigate to the new page and open in editor with the created content
|
|
282
321
|
setTimeout(() => {
|
|
283
|
-
navigate(`/help/${newCategoryId}/${
|
|
322
|
+
navigate(`/help/${newCategoryId}/${fullSlug}`, {
|
|
323
|
+
state: {
|
|
324
|
+
openInEditor: true,
|
|
325
|
+
initialContent: content,
|
|
326
|
+
initialTitle: newTitle,
|
|
327
|
+
filePath
|
|
328
|
+
}
|
|
329
|
+
});
|
|
284
330
|
}, 1000);
|
|
285
331
|
} catch (error) {
|
|
286
332
|
setSyncStatus({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarkdownPageWithParams.js","sources":["../../../src/pages/Markdown/MarkdownPageWithParams.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MarkdownPageWithParams.js","sources":["../../../src/pages/Markdown/MarkdownPageWithParams.tsx"],"sourcesContent":[null],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -582,6 +582,18 @@
|
|
|
582
582
|
"updatedAt": "Recently",
|
|
583
583
|
"frontmatter": {}
|
|
584
584
|
},
|
|
585
|
+
{
|
|
586
|
+
"contentId": "adminide-modules-preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
587
|
+
"slug": "preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
588
|
+
"filePath": "/content/docs/adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md",
|
|
589
|
+
"relativePath": "adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md",
|
|
590
|
+
"categoryId": "adminide-modules",
|
|
591
|
+
"title": "TroubleshootingSettingsWithPageExplainPlan",
|
|
592
|
+
"description": "",
|
|
593
|
+
"author": "Documentation",
|
|
594
|
+
"updatedAt": "Recently",
|
|
595
|
+
"frontmatter": {}
|
|
596
|
+
},
|
|
585
597
|
{
|
|
586
598
|
"contentId": "adminide-modules-preferences-permissions-roles-permissions",
|
|
587
599
|
"slug": "preferences-permissions-roles-permissions",
|
|
@@ -4045,6 +4057,15 @@
|
|
|
4045
4057
|
"updatedAt": "Recently",
|
|
4046
4058
|
"categoryId": "adminide-modules"
|
|
4047
4059
|
},
|
|
4060
|
+
{
|
|
4061
|
+
"id": "adminide-modules-preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
4062
|
+
"title": "TroubleshootingSettingsWithPageExplainPlan",
|
|
4063
|
+
"description": "",
|
|
4064
|
+
"slug": "preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
4065
|
+
"author": "Documentation",
|
|
4066
|
+
"updatedAt": "Recently",
|
|
4067
|
+
"categoryId": "adminide-modules"
|
|
4068
|
+
},
|
|
4048
4069
|
{
|
|
4049
4070
|
"id": "adminide-modules-preferences-usesettingsloader",
|
|
4050
4071
|
"title": "Use Setting Loader",
|
|
@@ -5447,6 +5468,7 @@
|
|
|
5447
5468
|
"adminide-modules-preferences-machine-configuration": "/content/docs/adminide-modules/preferences/machine-configuration.md",
|
|
5448
5469
|
"adminide-modules-preferences-pagesettings-generatecdecodeuri": "/content/docs/adminide-modules/preferences/pageSettings/generateCdecodeUri.md",
|
|
5449
5470
|
"adminide-modules-preferences-pagesettings-migratingfromusesettings": "/content/docs/adminide-modules/preferences/pageSettings/migratingFromUseSettings.md",
|
|
5471
|
+
"adminide-modules-preferences-pagesettings-troubleshootingsettingswithpageexplainplan": "/content/docs/adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md",
|
|
5450
5472
|
"adminide-modules-preferences-permissions-roles-permissions": "/content/docs/adminide-modules/preferences/permissions/Roles-Permissions.md",
|
|
5451
5473
|
"adminide-modules-preferences-permissions-settinguserpermissions": "/content/docs/adminide-modules/preferences/permissions/settingUserPermissions.md",
|
|
5452
5474
|
"adminide-modules-preferences-preference-dependency": "/content/docs/adminide-modules/preferences/preference-dependency.md",
|
|
@@ -5907,6 +5929,21 @@
|
|
|
5907
5929
|
"author": "Documentation",
|
|
5908
5930
|
"updatedAt": "Recently",
|
|
5909
5931
|
"frontmatter": {}
|
|
5932
|
+
},
|
|
5933
|
+
{
|
|
5934
|
+
"type": "file",
|
|
5935
|
+
"name": "troubleshootingSettingsWithPageExplainPlan",
|
|
5936
|
+
"title": "TroubleshootingSettingsWithPageExplainPlan",
|
|
5937
|
+
"path": "adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md",
|
|
5938
|
+
"contentId": "adminide-modules-preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
5939
|
+
"slug": "preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
5940
|
+
"categoryId": "adminide-modules",
|
|
5941
|
+
"filePath": "/content/docs/adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md",
|
|
5942
|
+
"relativePath": "adminide-modules/preferences/pageSettings/troubleshootingSettingsWithPageExplainPlan.md",
|
|
5943
|
+
"description": "",
|
|
5944
|
+
"author": "Documentation",
|
|
5945
|
+
"updatedAt": "Recently",
|
|
5946
|
+
"frontmatter": {}
|
|
5910
5947
|
}
|
|
5911
5948
|
]
|
|
5912
5949
|
},
|
|
@@ -10213,6 +10250,12 @@
|
|
|
10213
10250
|
"path": "/help/adminide-modules/preferences-pagesettings-migratingfromusesettings",
|
|
10214
10251
|
"children": [],
|
|
10215
10252
|
"isFile": true
|
|
10253
|
+
},
|
|
10254
|
+
{
|
|
10255
|
+
"title": "TroubleshootingSettingsWithPageExplainPlan",
|
|
10256
|
+
"path": "/help/adminide-modules/preferences-pagesettings-troubleshootingsettingswithpageexplainplan",
|
|
10257
|
+
"children": [],
|
|
10258
|
+
"isFile": true
|
|
10216
10259
|
}
|
|
10217
10260
|
],
|
|
10218
10261
|
"isFile": false
|