Skip to content

Commit 7462a57

Browse files
committed
feat: page 404
1 parent f55adf3 commit 7462a57

File tree

3 files changed

+62
-34
lines changed

3 files changed

+62
-34
lines changed

src/index.js

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,47 @@ let { page = undefined } = params
2020

2121
function Index() {
2222
let appState = new AppState()
23+
let pageContext
24+
25+
if (page === undefined) {
26+
pageContext = (
27+
<div>
28+
<Helmet>
29+
<meta charSet="utf-8" />
30+
<title>{BLOG_NAME}</title>
31+
<meta name="description" content="💻 程式技術、自然語言處理和論文筆記 🛠️" />
32+
</Helmet>
33+
<App />
34+
<CornerMenu />
35+
<Footer />
36+
</div>
37+
)
38+
}
39+
else if (page === "code-404") {
40+
pageContext = (
41+
<div className='flex flex-col p-2'>
42+
<p>很抱歉,您要求的文章不存在。</p>
43+
<p><a style={{color:'blue',textDecoration:'underline'}} href='/'>回首頁</a></p>
44+
</div>
45+
)
46+
}
47+
else {
48+
pageContext = (
49+
<div className="render-container">
50+
<MdRender doc_id={page} />
51+
<CornerMenu />
52+
<Footer />
53+
</div>
54+
)
55+
}
2356

2457
return (
2558
<AppStateContext.Provider value={appState}>
26-
<LoadingView />
27-
<div>
28-
{page === undefined ? (
29-
<div>
30-
<Helmet>
31-
<meta charSet="utf-8" />
32-
<title>{BLOG_NAME}</title>
33-
<meta name="description" content="💻 程式技術、自然語言處理和論文筆記 🛠️" />
34-
</Helmet>
35-
<App />
36-
<CornerMenu />
37-
<Footer />
38-
</div>
39-
) : (
40-
<div className="render-container">
41-
<MdRender doc_id={page} />
42-
<CornerMenu />
43-
<Footer />
44-
</div>
45-
)}
46-
47-
</div>
48-
</AppStateContext.Provider>
59+
<LoadingView />
60+
<div>
61+
{pageContext}
62+
</div>
63+
</AppStateContext.Provider >
4964
)
5065
}
5166

src/modules/MdRender/index.jsx

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -169,21 +169,26 @@ export default function MdRender({ doc_id }) {
169169
setPageTitle(`${gistTitle} - ${BLOG_NAME}`)
170170
setPageDescription(gistContent.replaceAll("#", " ").slice(0, 500))
171171
})
172+
.catch(()=>{
173+
window.location.href = "/?page=code-404"
174+
})
172175
// eslint-disable-next-line
173176
}, [])
174177

175178
useEffect(() => {
176-
const gitalk = new Gitalk({
177-
clientID: '1026ba5908c2c038e457',
178-
clientSecret: 'e89b2d013165eed176f47ba9afa49cf27cd2b63f',
179-
repo: 'blog', // The repository of store comments,
180-
owner: 'p208p2002',
181-
admin: ['p208p2002'],
182-
id: doc_id, // Ensure uniqueness and length less than 50
183-
distractionFreeMode: false // Facebook-like distraction free mode
184-
})
185-
gitalk.render("comments")
186-
}, [doc_id])
179+
if (postTitle !== "") {
180+
const gitalk = new Gitalk({
181+
clientID: '1026ba5908c2c038e457',
182+
clientSecret: 'e89b2d013165eed176f47ba9afa49cf27cd2b63f',
183+
repo: 'blog', // The repository of store comments,
184+
owner: 'p208p2002',
185+
admin: ['p208p2002'],
186+
id: doc_id, // Ensure uniqueness and length less than 50
187+
distractionFreeMode: false // Facebook-like distraction free mode
188+
})
189+
gitalk.render("comments")
190+
}
191+
}, [doc_id,postTitle])
187192

188193
let { date = "", tags = [] } = documentInfo
189194

src/tailwindcss.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,10 @@ video {
655655
align-items: center;
656656
}
657657

658+
.justify-start {
659+
justify-content: flex-start;
660+
}
661+
658662
.justify-center {
659663
justify-content: center;
660664
}
@@ -718,6 +722,10 @@ video {
718722
font-weight: 500;
719723
}
720724

725+
.italic {
726+
font-style: italic;
727+
}
728+
721729
.text-gray-500 {
722730
--tw-text-opacity: 1;
723731
color: rgb(107 114 128 / var(--tw-text-opacity));

0 commit comments

Comments
 (0)