diff --git a/.gitignore b/.gitignore
index 601f8c8..4c8e870 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,8 @@
# production
/build
+/public/sitemap.xml
+
# misc
.DS_Store
*.pem
diff --git a/components/common/Markdown/index.js b/components/common/Markdown/index.js
index 8535095..ba7db9c 100644
--- a/components/common/Markdown/index.js
+++ b/components/common/Markdown/index.js
@@ -106,6 +106,7 @@ const Markdown = ({
};
return (
+
+
);
};
diff --git a/components/pages/whats-new/RawRelease.jsx b/components/pages/whats-new/RawRelease.jsx
new file mode 100644
index 0000000..dcb3398
--- /dev/null
+++ b/components/pages/whats-new/RawRelease.jsx
@@ -0,0 +1,50 @@
+import styled from 'styled-components';
+import Markdown from '@/components/common/Markdown';
+import Head from 'next/head';
+
+const StyledMarkdown = styled(Markdown)`
+ img:first-child {
+ display: none;
+ }
+ padding: 10px;
+ img {
+ width: 100%;
+ }
+ p,
+ ul,
+ ol,
+ li {
+ font-size: 14px;
+ }
+
+ h2 {
+ font-size: 24px;
+ }
+ & img,
+ & video,
+ & iframe {
+ margin-bottom: 10px;
+ }
+
+ & > * {
+ max-width: 100%;
+ }
+ & > *:last-child {
+ margin-bottom: 0;
+ }
+`;
+
+const RawRelease = ({ release }) => {
+ if (!release) return No Release Found
;
+
+ return (
+ <>
+
+
+
+ {release.body}
+ >
+ );
+};
+
+export default RawRelease
diff --git a/components/pages/whats-new/Release.jsx b/components/pages/whats-new/Release.jsx
index 8424229..ab6acba 100644
--- a/components/pages/whats-new/Release.jsx
+++ b/components/pages/whats-new/Release.jsx
@@ -88,6 +88,8 @@ const Release = ({ release, latest }) => {
releaseUrl = `${window.location.href.split('#')[0]}#${release.name}`;
}
+ console.log("release")
+
const versionNumber = getMinimumSystemVersion(release.body);
const versionName = versionNumber
? macOSVersions[versionNumber.split('.')[0]]
diff --git a/data/macOS-versions.json b/data/macOS-versions.json
index 5ffaa10..6b1537d 100644
--- a/data/macOS-versions.json
+++ b/data/macOS-versions.json
@@ -18,5 +18,6 @@
"11": "Big Sur",
"12": "Monterey",
"13": "Ventura",
- "14": "Sonoma"
+ "14": "Sonoma",
+ "15": "Sequoia"
}
diff --git a/package-lock.json b/package-lock.json
index c7d0fad..7bba3e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
{
- "name": "codeedit.app",
+ "name": "codeedit-website",
"lockfileVersion": 3,
"requires": true,
"packages": {
diff --git a/pages/_app.js b/pages/_app.js
index a91e898..7266f31 100644
--- a/pages/_app.js
+++ b/pages/_app.js
@@ -6,7 +6,7 @@ import '@/styles/globals.css';
import config from '@/data/config';
function App({ Component, pageProps, router }) {
- const { pathname, asPath } = router?.state ?? {};
+ const { pathname, asPath } = router ?? {};
const defaultPageData = config.pages['/'];
const pageData = config.pages[pathname] ?? config.pages['/'];
const isDefault = defaultPageData === pageData;
@@ -37,13 +37,25 @@ function App({ Component, pageProps, router }) {
-
-
+
-
-
+
);
}
+const Layout = ({ children, pathname }) => {
+ if (pathname === '/sparkle/[tag]/CodeEdit.html') {
+ return {children};
+ }
+
+ return (
+ <>
+
+ {children}
+
+ >
+ );
+}
+
export default App;
diff --git a/pages/sparkle/[tag]/CodeEdit.js b/pages/sparkle/[tag]/CodeEdit.js
new file mode 100644
index 0000000..2d9008f
--- /dev/null
+++ b/pages/sparkle/[tag]/CodeEdit.js
@@ -0,0 +1,29 @@
+export { default } from '@/components/pages/whats-new/RawRelease'
+import { fetchWithCache } from '@/utils/fetchData';
+
+export async function getStaticProps({ params }) {
+ const { tag } = params;
+ const data = await fetchWithCache(
+ 'releases',
+ 'https://api.github.com/repos/CodeEditApp/CodeEdit/releases'
+ );
+
+ return {
+ props: {
+ release: data.find((release) => release.tag_name === tag) || null,
+ },
+ };
+}
+
+export async function getStaticPaths() {
+ const data = await fetchWithCache(
+ 'releases',
+ 'https://api.github.com/repos/CodeEditApp/CodeEdit/releases'
+ );
+ const paths = data.map((release) => ({ params: { tag: release.tag_name } }));
+
+ return {
+ paths,
+ fallback: false,
+ };
+}
diff --git a/pages/whats-new.js b/pages/whats-new/index.js
similarity index 68%
rename from pages/whats-new.js
rename to pages/whats-new/index.js
index 0d00d5b..f7eb0a4 100644
--- a/pages/whats-new.js
+++ b/pages/whats-new/index.js
@@ -1,10 +1,11 @@
export { default } from '@/components/pages/whats-new';
+import { fetchWithCache } from '@/utils/fetchData';
export async function getStaticProps() {
- const res = await fetch(
+ const data = await fetchWithCache(
+ 'releases',
'https://api.github.com/repos/CodeEditApp/CodeEdit/releases'
);
- const data = await res.json();
return {
props: {
diff --git a/scripts/generate-sitemap.mjs b/scripts/generate-sitemap.mjs
index 0ed7211..b8be7c4 100644
--- a/scripts/generate-sitemap.mjs
+++ b/scripts/generate-sitemap.mjs
@@ -17,6 +17,7 @@ async function generate() {
'!pages/_*.jsx',
'!pages/api',
'!pages/404.tsx',
+ '!pages/sparkle/**/*.js'
]);
const sitemap = `