-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
103 lines (98 loc) · 3.25 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>parse</title>
<link rel="stylesheet" type="text/css" href="../assets/github-markdown.css">
<script src="../assets/marked.min.js"></script>
<script src="../assets/auto-render.min.js"></script>
<link rel="stylesheet" href="../assets/katex.min.css">
<script defer src="../assets/katex.min.js"></script>
<script defer src="../assets/auto-render.min.js"></script>
<style>
.markdown-body {
box-sizing: border-box;
min-width: 200px;
max-width: 980px;
margin: 0 auto;
padding: 45px;
}
@media (max-width: 767px) {
.markdown-body {
padding: 15px;
}
}
body {
background-color: #0d1117;
}
#url-input {
display: block;
margin: 16px auto; /* Center input box */
width: 50%; /* Adjust width as needed */
padding: 12px;
border: 1px solid #444; /* Darker border for dark mode */
border-radius: 24px;
background-color: #161B22; /* Dark background */
color: #C9D1D9; /* Light text color */
font-size: 18px; /* Increase font size */
}
</style>
</head>
<body>
<input type="text" id="url-input" placeholder="Enter markdown URL">
<div id="markdown-content" class="markdown-body"></div>
<script>
document.addEventListener("DOMContentLoaded", function() {
// Initialize KaTeX rendering
renderMathInElement(document.body, {
delimiters: [
{ left: "$$", right: "$$", display: true },
{ left: "$", right: "$", display: false }
]
});
const fetchMarkdown = async (url) => {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error('Network response was not ok');
}
const markdown = await response.text();
const html = marked(markdown);
const markdownEl = document.querySelector('#markdown-content');
markdownEl.innerHTML = html;
// Re-render KaTeX expressions in the new content
renderMathInElement(markdownEl, {
delimiters: [
{ left: "$$", right: "$$", display: true },
{ left: "$", right: "$", display: false }
]
});
} catch (error) {
console.error('Error loading markdown file:', error);
// Fallback to default Markdown file if there's an error
fetchMarkdown('./assets/profile.md');
}
}
const urlInput = document.querySelector('#url-input');
urlInput.addEventListener('input', (event) => {
const newUrl = event.target.value;
if (newUrl) {
fetchMarkdown(newUrl);
}
});
// Load URL parameter if available
const urlParams = new URLSearchParams(window.location.search);
const markdownUrl = urlParams.get('url');
if (markdownUrl) {
fetchMarkdown(markdownUrl);
urlInput.value = markdownUrl; // Set input value to the loaded URL
} else {
// Load default Markdown file on page load
const defaultMarkdownUrl = './assets/profile.md'; // Default URL for profile.md
fetchMarkdown(defaultMarkdownUrl);
}
});
</script>
</body>
</html>