chore: update deps; add ultrahtml dep

This commit is contained in:
Ayo 2023-10-01 08:36:48 +02:00
parent be13713a49
commit 8470e5bee6
5 changed files with 1619 additions and 1446 deletions

View file

@ -1,8 +1,11 @@
import { defineConfig } from "astro/config";
import netlify from "@astrojs/netlify/functions";
import prefetch from "@astrojs/prefetch";
// https://astro.build/config
export default defineConfig({
output: "server",
adapter: netlify()
adapter: netlify(),
integrations: [prefetch()]
});

3028
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -11,13 +11,15 @@
"build": "astro build"
},
"devDependencies": {
"astro": "^2.9.1"
"astro": "^3.2.0"
},
"dependencies": {
"@astrojs/netlify": "^2.2.2",
"@ayco/astro-resume": "^0.3.4",
"@extractus/article-extractor": "^7.2.15",
"@astrojs/netlify": "^3.0.2",
"@astrojs/prefetch": "^0.4.0",
"@ayco/astro-resume": "^0.3.9",
"@extractus/article-extractor": "^8.0.2",
"astro-iconify": "^1.2.0",
"sass": "^1.62.1"
"sass": "^1.68.0",
"ultrahtml": "^1.5.2"
}
}

View file

@ -1,5 +1,6 @@
---
import { ArticleData } from "@extractus/article-extractor";
import clean from '../utils/sanitizer';
export interface Props {
article: ArticleData | null;
}
@ -12,6 +13,8 @@ let { article } = Astro.props;
article ??= error;
const datePublished =
article?.published && new Date(article.published).toDateString();
const cleanContent = clean(article.content ?? '')
---
<!--
@ -29,7 +32,7 @@ const datePublished =
{datePublished && <li>{datePublished}</li>}
</ul>
)}
<content set:html={article.content} />
<content set:html={cleanContent} />
</>
}
</div>

15
src/utils/sanitizer.ts Normal file
View file

@ -0,0 +1,15 @@
import { transform } from 'ultrahtml'
import sanitize from 'ultrahtml/transformers/sanitize'
export default function clean(html: string) {
return transform(html, [
sanitize({
dropElements: ['script'],
})
])
}
function set(value: string) {
return () => value
}