feat: use astro-resume
This commit is contained in:
parent
2358ec6d6f
commit
6aca873c75
4 changed files with 22 additions and 7 deletions
|
@ -82,6 +82,7 @@ We are thankful for all the building blocks provided by the following projects:
|
||||||
|
|
||||||
1. [Astro](https://www.npmjs.com/package/astro) for our server-side rendering framework
|
1. [Astro](https://www.npmjs.com/package/astro) for our server-side rendering framework
|
||||||
1. [@ayco/astro-sw](https://ayco.io/n/@ayco/astro-sw) for taking app's service worker, and injecting needed dynamic assets & variables
|
1. [@ayco/astro-sw](https://ayco.io/n/@ayco/astro-sw) for taking app's service worker, and injecting needed dynamic assets & variables
|
||||||
|
1. [@ayco/astro-resume](https://ayco.io/n/@ayco/astro-resume) for serializing server data to be used in the client
|
||||||
1. [@extractus/article-extractor](https://www.npmjs.com/package/@extractus/article-extractor) for the amazing scraping of articles
|
1. [@extractus/article-extractor](https://www.npmjs.com/package/@extractus/article-extractor) for the amazing scraping of articles
|
||||||
1. [astro-iconify](https://www.npmjs.com/package/astro-iconify) for easily using icon-sets in [iconify](https://icon-sets.iconify.design/)
|
1. [astro-iconify](https://www.npmjs.com/package/astro-iconify) for easily using icon-sets in [iconify](https://icon-sets.iconify.design/)
|
||||||
1. [ultrahtml](https://www.npmjs.com/package/ultrahtml) for any cleanup and transformation we do on the received article content
|
1. [ultrahtml](https://www.npmjs.com/package/ultrahtml) for any cleanup and transformation we do on the received article content
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
"@astrojs/node": "^9.1.0",
|
"@astrojs/node": "^9.1.0",
|
||||||
"@astrojs/rss": "^4.0.11",
|
"@astrojs/rss": "^4.0.11",
|
||||||
"@astrojs/sitemap": "^3.2.1",
|
"@astrojs/sitemap": "^3.2.1",
|
||||||
|
"@ayco/astro-resume": "^0.4.4",
|
||||||
"@ayco/astro-sw": "^0.8.14",
|
"@ayco/astro-sw": "^0.8.14",
|
||||||
"@eslint/compat": "^1.2.6",
|
"@eslint/compat": "^1.2.6",
|
||||||
"@eslint/js": "^9.20.0",
|
"@eslint/js": "^9.20.0",
|
||||||
|
|
|
@ -20,6 +20,9 @@ importers:
|
||||||
'@astrojs/sitemap':
|
'@astrojs/sitemap':
|
||||||
specifier: ^3.2.1
|
specifier: ^3.2.1
|
||||||
version: 3.2.1
|
version: 3.2.1
|
||||||
|
'@ayco/astro-resume':
|
||||||
|
specifier: ^0.4.4
|
||||||
|
version: 0.4.4(astro@5.3.0(@types/node@22.13.4)(rollup@4.34.7)(sass@1.85.0)(typescript@5.7.3)(yaml@2.7.0))
|
||||||
'@ayco/astro-sw':
|
'@ayco/astro-sw':
|
||||||
specifier: ^0.8.14
|
specifier: ^0.8.14
|
||||||
version: 0.8.14
|
version: 0.8.14
|
||||||
|
@ -153,6 +156,11 @@ packages:
|
||||||
'@astrojs/yaml2ts@0.2.2':
|
'@astrojs/yaml2ts@0.2.2':
|
||||||
resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==}
|
resolution: {integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==}
|
||||||
|
|
||||||
|
'@ayco/astro-resume@0.4.4':
|
||||||
|
resolution: {integrity: sha512-BhMAni0Y0BkaU8fPfWT93Pk1Tr0HMThiWgx/CNma0pt/LphdzcHYQ0GCDAbpuJYPHGF9gdpdBrYa1Yr/fvS/IA==}
|
||||||
|
peerDependencies:
|
||||||
|
astro: ^5
|
||||||
|
|
||||||
'@ayco/astro-sw@0.8.14':
|
'@ayco/astro-sw@0.8.14':
|
||||||
resolution: {integrity: sha512-Q/OGyQqzC7EwYrQPrCYMCI/tRncS/XvEJ0Tuh1TtSzvob4JHQdwMHqGDHFrH0z3rxOAQaLm4XzGRlhFN7KRI7g==}
|
resolution: {integrity: sha512-Q/OGyQqzC7EwYrQPrCYMCI/tRncS/XvEJ0Tuh1TtSzvob4JHQdwMHqGDHFrH0z3rxOAQaLm4XzGRlhFN7KRI7g==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
|
@ -3973,6 +3981,10 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
yaml: 2.7.0
|
yaml: 2.7.0
|
||||||
|
|
||||||
|
'@ayco/astro-resume@0.4.4(astro@5.3.0(@types/node@22.13.4)(rollup@4.34.7)(sass@1.85.0)(typescript@5.7.3)(yaml@2.7.0))':
|
||||||
|
dependencies:
|
||||||
|
astro: 5.3.0(@types/node@22.13.4)(rollup@4.34.7)(sass@1.85.0)(typescript@5.7.3)(yaml@2.7.0)
|
||||||
|
|
||||||
'@ayco/astro-sw@0.8.14':
|
'@ayco/astro-sw@0.8.14':
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.23.1
|
esbuild: 0.23.1
|
||||||
|
|
|
@ -1,19 +1,24 @@
|
||||||
---
|
---
|
||||||
|
import Serialize from '@ayco/astro-resume'
|
||||||
export interface Props {
|
export interface Props {
|
||||||
skipSave?: boolean
|
skipSave?: boolean
|
||||||
|
isIndex: boolean
|
||||||
}
|
}
|
||||||
---
|
---
|
||||||
|
|
||||||
<div id="library" data-preferences={JSON.stringify(Astro.props)}>
|
<div id="library">
|
||||||
<span id="heading"></span>
|
<span id="heading"></span>
|
||||||
<ul id="post-list"></ul>
|
<ul id="post-list"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<Serialize id="preferences" data={Astro.props} />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getPostCard, renderPost } from '../utils/library'
|
import { getPostCard, renderPost } from '../utils/library'
|
||||||
import { cozify } from '../utils/sanitizer'
|
import { cozify } from '../utils/sanitizer'
|
||||||
|
import { deserialize } from '@ayco/astro-resume'
|
||||||
const cache = await caches.open('cozy-reader')
|
const cache = await caches.open('cozy-reader')
|
||||||
const baseUrl = window.location.origin
|
const baseUrl = window.location.origin + '/a'
|
||||||
let url = new URL(window.location.href)
|
let url = new URL(window.location.href)
|
||||||
// only cached unencoded url param
|
// only cached unencoded url param
|
||||||
const urlParam = url.searchParams.get('url')
|
const urlParam = url.searchParams.get('url')
|
||||||
|
@ -21,11 +26,7 @@ export interface Props {
|
||||||
url = new URL(`${url.origin}/?url=${urlParam}`)
|
url = new URL(`${url.origin}/?url=${urlParam}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
const preferencesEl = document.querySelector(
|
const { skipSave } = deserialize('preferences') ?? ''
|
||||||
'[data-preferences]'
|
|
||||||
) as HTMLElement
|
|
||||||
const preferencesStr = preferencesEl?.dataset.preferences ?? ''
|
|
||||||
const { skipSave } = JSON.parse(preferencesStr)
|
|
||||||
|
|
||||||
const routerOutlet = 'router-outlet'
|
const routerOutlet = 'router-outlet'
|
||||||
const includesAppURL = urlParam?.includes(baseUrl) ?? false
|
const includesAppURL = urlParam?.includes(baseUrl) ?? false
|
||||||
|
|
Loading…
Reference in a new issue