docs(api): add instructions to enable and use API

This commit is contained in:
Yassine Doghri 2024-12-29 14:03:23 +00:00
parent f981937645
commit fc2e7a0d83
7 changed files with 424 additions and 371 deletions

View File

@ -18,9 +18,9 @@ Javascript dependencies can be found in the [package.json](./package.json) file.
([Open Font License](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL))
- [RemixIcon](https://remixicon.com/)
([Apache License 2.0](https://github.com/Remix-Design/RemixIcon/blob/master/License))
- [OPAWG/User agent list](https://github.com/opawg/user-agents)
- [OPAWG/User agent list](https://github.com/opawg/user-agents-v2)
([by Open Podcast Analytics Working Group](https://github.com/opawg))
([MIT license](https://github.com/opawg/user-agents/blob/master/LICENSE))
([MIT license](https://github.com/opawg/user-agents-v2/blob/master/LICENSE))
- [OPAWG/podcast-rss-useragents](https://github.com/opawg/podcast-rss-useragents)
([by Open Podcast Analytics Working Group](https://github.com/opawg))
([MIT license](https://github.com/opawg/podcast-rss-useragents/blob/master/LICENSE))

View File

@ -15,12 +15,12 @@
"@astrojs/starlight": "^0.30.3",
"@astrojs/starlight-tailwind": "^3.0.0",
"@astrojs/tailwind": "^5.1.4",
"@fontsource/inter": "^5.1.0",
"@fontsource/rubik": "^5.1.0",
"@fontsource/inter": "^5.1.1",
"@fontsource/rubik": "^5.1.1",
"astro": "^5.1.1",
"autoprefixer": "^10.4.20",
"cssnano": "^7.0.6",
"postcss-preset-env": "^10.1.2",
"postcss-preset-env": "^10.1.3",
"sharp": "^0.33.5",
"starlight-openapi": "^0.9.0",
"tailwindcss": "^3.4.17",

194
docs/pnpm-lock.yaml generated
View File

@ -20,11 +20,11 @@ importers:
specifier: ^5.1.4
version: 5.1.4(astro@5.1.1(jiti@2.4.2)(rollup@4.29.1)(typescript@5.7.2)(yaml@2.6.1))(tailwindcss@3.4.17)
"@fontsource/inter":
specifier: ^5.1.0
version: 5.1.0
specifier: ^5.1.1
version: 5.1.1
"@fontsource/rubik":
specifier: ^5.1.0
version: 5.1.0
specifier: ^5.1.1
version: 5.1.1
astro:
specifier: ^5.1.1
version: 5.1.1(jiti@2.4.2)(rollup@4.29.1)(typescript@5.7.2)(yaml@2.6.1)
@ -35,8 +35,8 @@ importers:
specifier: ^7.0.6
version: 7.0.6(postcss@8.4.49)
postcss-preset-env:
specifier: ^10.1.2
version: 10.1.2(postcss@8.4.49)
specifier: ^10.1.3
version: 10.1.3(postcss@8.4.49)
sharp:
specifier: ^0.33.5
version: 0.33.5
@ -231,20 +231,20 @@ packages:
}
engines: { node: ">=18" }
"@csstools/css-calc@2.1.0":
"@csstools/css-calc@2.1.1":
resolution:
{
integrity: sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==,
integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==,
}
engines: { node: ">=18" }
peerDependencies:
"@csstools/css-parser-algorithms": ^3.0.4
"@csstools/css-tokenizer": ^3.0.3
"@csstools/css-color-parser@3.0.6":
"@csstools/css-color-parser@3.0.7":
resolution:
{
integrity: sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==,
integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==,
}
engines: { node: ">=18" }
peerDependencies:
@ -286,19 +286,19 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-color-function@4.0.6":
"@csstools/postcss-color-function@4.0.7":
resolution:
{
integrity: sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==,
integrity: sha512-aDHYmhNIHR6iLw4ElWhf+tRqqaXwKnMl0YsQ/X105Zc4dQwe6yJpMrTN6BwOoESrkDjOYMOfORviSSLeDTJkdQ==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-color-mix-function@3.0.6":
"@csstools/postcss-color-mix-function@3.0.7":
resolution:
{
integrity: sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==,
integrity: sha512-e68Nev4CxZYCLcrfWhHH4u/N1YocOfTmw67/kVX5Rb7rnguqqLyxPjhHWjSBX8o4bmyuukmNf3wrUSU3//kT7g==,
}
engines: { node: ">=18" }
peerDependencies:
@ -313,10 +313,10 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-exponential-functions@2.0.5":
"@csstools/postcss-exponential-functions@2.0.6":
resolution:
{
integrity: sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==,
integrity: sha512-IgJA5DQsQLu/upA3HcdvC6xEMR051ufebBTIXZ5E9/9iiaA7juXWz1ceYj814lnDYP/7eWjZnw0grRJlX4eI6g==,
}
engines: { node: ">=18" }
peerDependencies:
@ -331,28 +331,28 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-gamut-mapping@2.0.6":
"@csstools/postcss-gamut-mapping@2.0.7":
resolution:
{
integrity: sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==,
integrity: sha512-gzFEZPoOkY0HqGdyeBXR3JP218Owr683u7KOZazTK7tQZBE8s2yhg06W1tshOqk7R7SWvw9gkw2TQogKpIW8Xw==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-gradients-interpolation-method@5.0.6":
"@csstools/postcss-gradients-interpolation-method@5.0.7":
resolution:
{
integrity: sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==,
integrity: sha512-WgEyBeg6glUeTdS2XT7qeTFBthTJuXlS9GFro/DVomj7W7WMTamAwpoP4oQCq/0Ki2gvfRYFi/uZtmRE14/DFA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-hwb-function@4.0.6":
"@csstools/postcss-hwb-function@4.0.7":
resolution:
{
integrity: sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==,
integrity: sha512-LKYqjO+wGwDCfNIEllessCBWfR4MS/sS1WXO+j00KKyOjm7jDW2L6jzUmqASEiv/kkJO39GcoIOvTTfB3yeBUA==,
}
engines: { node: ">=18" }
peerDependencies:
@ -439,10 +439,10 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-media-minmax@2.0.5":
"@csstools/postcss-media-minmax@2.0.6":
resolution:
{
integrity: sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==,
integrity: sha512-J1+4Fr2W3pLZsfxkFazK+9kr96LhEYqoeBszLmFjb6AjYs+g9oDAw3J5oQignLKk3rC9XHW+ebPTZ9FaW5u5pg==,
}
engines: { node: ">=18" }
peerDependencies:
@ -475,10 +475,10 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-oklab-function@4.0.6":
"@csstools/postcss-oklab-function@4.0.7":
resolution:
{
integrity: sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==,
integrity: sha512-I6WFQIbEKG2IO3vhaMGZDkucbCaUSXMxvHNzDdnfsTCF5tc0UlV3Oe2AhamatQoKFjBi75dSEMrgWq3+RegsOQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -493,19 +493,19 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-random-function@1.0.1":
"@csstools/postcss-random-function@1.0.2":
resolution:
{
integrity: sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==,
integrity: sha512-vBCT6JvgdEkvRc91NFoNrLjgGtkLWt47GKT6E2UDn3nd8ZkMBiziQ1Md1OiKoSsgzxsSnGKG3RVdhlbdZEkHjA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-relative-color-syntax@3.0.6":
"@csstools/postcss-relative-color-syntax@3.0.7":
resolution:
{
integrity: sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==,
integrity: sha512-apbT31vsJVd18MabfPOnE977xgct5B1I+Jpf+Munw3n6kKb1MMuUmGGH+PT9Hm/fFs6fe61Q/EWnkrb4bNoNQw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -520,19 +520,19 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-sign-functions@1.1.0":
"@csstools/postcss-sign-functions@1.1.1":
resolution:
{
integrity: sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==,
integrity: sha512-MslYkZCeMQDxetNkfmmQYgKCy4c+w9pPDfgOBCJOo/RI1RveEUdZQYtOfrC6cIZB7sD7/PHr2VGOcMXlZawrnA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-stepped-value-functions@4.0.5":
"@csstools/postcss-stepped-value-functions@4.0.6":
resolution:
{
integrity: sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==,
integrity: sha512-/dwlO9w8vfKgiADxpxUbZOWlL5zKoRIsCymYoh1IPuBsXODKanKnfuZRr32DEqT0//3Av1VjfNZU9yhxtEfIeA==,
}
engines: { node: ">=18" }
peerDependencies:
@ -547,10 +547,10 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-trigonometric-functions@4.0.5":
"@csstools/postcss-trigonometric-functions@4.0.6":
resolution:
{
integrity: sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==,
integrity: sha512-c4Y1D2Why/PeccaSouXnTt6WcNHJkoJRidV2VW9s5gJ97cNxnLgQ4Qj8qOqkIR9VmTQKJyNcbF4hy79ZQnWD7A==,
}
engines: { node: ">=18" }
peerDependencies:
@ -1094,16 +1094,16 @@ packages:
integrity: sha512-dPK3+BVGTbTmGQGU3Fkj3jZ3OltWUAlxetMHI6limUGCWBCucZiwoZeFM/WmqQa71GyKRzhBT+iEov6kkz2xVA==,
}
"@fontsource/inter@5.1.0":
"@fontsource/inter@5.1.1":
resolution:
{
integrity: sha512-zKZR3kf1G0noIes1frLfOHP5EXVVm0M7sV/l9f/AaYf+M/DId35FO4LkigWjqWYjTJZGgplhdv4cB+ssvCqr5A==,
integrity: sha512-weN3E+rq0Xb3Z93VHJ+Rc7WOQX9ETJPTAJ+gDcaMHtjft67L58sfS65rAjC5tZUXQ2FdZ/V1/sSzCwZ6v05kJw==,
}
"@fontsource/rubik@5.1.0":
"@fontsource/rubik@5.1.1":
resolution:
{
integrity: sha512-QyZQw03z/v1RltDPPtWxAQsYgmwbDY6CKH/YWubRY4x9UFGuAImwFYPitR2sTB/FBj0Dxf0DftoC9kqGZKWjug==,
integrity: sha512-g5H+vzDxwTxUBtEpPoNNF3uVZkqIvrXnYn0S8aQZNz1r2LMfpT0o/pnWr43hVumapVpm0CsT4xvH2Mw9LHnGqQ==,
}
"@humanwhocodes/momoa@2.0.4":
@ -4210,10 +4210,10 @@ packages:
peerDependencies:
postcss: ^8.4.6
postcss-color-functional-notation@7.0.6:
postcss-color-functional-notation@7.0.7:
resolution:
{
integrity: sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==,
integrity: sha512-EZvAHsvyASX63vXnyXOIynkxhaHRSsdb7z6yiXKIovGXAolW4cMZ3qoh7k3VdTsLBS6VGdksGfIo3r6+waLoOw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4398,10 +4398,10 @@ packages:
peerDependencies:
postcss: ^8.4.21
postcss-lab-function@7.0.6:
postcss-lab-function@7.0.7:
resolution:
{
integrity: sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==,
integrity: sha512-+ONj2bpOQfsCKZE2T9VGMyVVdGcGUpr7u3SVfvkJlvhTRmDCfY25k4Jc8fubB9DclAPR4+w8uVtDZmdRgdAHig==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4628,10 +4628,10 @@ packages:
peerDependencies:
postcss: ^8.4
postcss-preset-env@10.1.2:
postcss-preset-env@10.1.3:
resolution:
{
integrity: sha512-OqUBZ9ByVfngWhMNuBEMy52Izj07oIFA6K/EOGBlaSv+P12MiE1+S2cqXtS1VuW82demQ/Tzc7typYk3uHunkA==,
integrity: sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -6096,15 +6096,15 @@ snapshots:
"@csstools/color-helpers@5.0.1": {}
"@csstools/css-calc@2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
"@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/css-color-parser@3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
"@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/color-helpers": 5.0.1
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
@ -6125,18 +6125,18 @@ snapshots:
postcss: 8.4.49
postcss-selector-parser: 7.0.0
"@csstools/postcss-color-function@4.0.6(postcss@8.4.49)":
"@csstools/postcss-color-function@4.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
"@csstools/utilities": 2.0.0(postcss@8.4.49)
postcss: 8.4.49
"@csstools/postcss-color-mix-function@3.0.6(postcss@8.4.49)":
"@csstools/postcss-color-mix-function@3.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
@ -6151,9 +6151,9 @@ snapshots:
"@csstools/utilities": 2.0.0(postcss@8.4.49)
postcss: 8.4.49
"@csstools/postcss-exponential-functions@2.0.5(postcss@8.4.49)":
"@csstools/postcss-exponential-functions@2.0.6(postcss@8.4.49)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.49
@ -6164,25 +6164,25 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
"@csstools/postcss-gamut-mapping@2.0.6(postcss@8.4.49)":
"@csstools/postcss-gamut-mapping@2.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.49
"@csstools/postcss-gradients-interpolation-method@5.0.6(postcss@8.4.49)":
"@csstools/postcss-gradients-interpolation-method@5.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
"@csstools/utilities": 2.0.0(postcss@8.4.49)
postcss: 8.4.49
"@csstools/postcss-hwb-function@4.0.6(postcss@8.4.49)":
"@csstools/postcss-hwb-function@4.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
@ -6237,9 +6237,9 @@ snapshots:
"@csstools/utilities": 2.0.0(postcss@8.4.49)
postcss: 8.4.49
"@csstools/postcss-media-minmax@2.0.5(postcss@8.4.49)":
"@csstools/postcss-media-minmax@2.0.6(postcss@8.4.49)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
@ -6263,9 +6263,9 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
"@csstools/postcss-oklab-function@4.0.6(postcss@8.4.49)":
"@csstools/postcss-oklab-function@4.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
@ -6277,16 +6277,16 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
"@csstools/postcss-random-function@1.0.1(postcss@8.4.49)":
"@csstools/postcss-random-function@1.0.2(postcss@8.4.49)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.49
"@csstools/postcss-relative-color-syntax@3.0.6(postcss@8.4.49)":
"@csstools/postcss-relative-color-syntax@3.0.7(postcss@8.4.49)":
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
@ -6298,16 +6298,16 @@ snapshots:
postcss: 8.4.49
postcss-selector-parser: 7.0.0
"@csstools/postcss-sign-functions@1.1.0(postcss@8.4.49)":
"@csstools/postcss-sign-functions@1.1.1(postcss@8.4.49)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.49
"@csstools/postcss-stepped-value-functions@4.0.5(postcss@8.4.49)":
"@csstools/postcss-stepped-value-functions@4.0.6(postcss@8.4.49)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.49
@ -6318,9 +6318,9 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
"@csstools/postcss-trigonometric-functions@4.0.5(postcss@8.4.49)":
"@csstools/postcss-trigonometric-functions@4.0.6(postcss@8.4.49)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-calc": 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.49
@ -6537,9 +6537,9 @@ snapshots:
dependencies:
"@expressive-code/core": 0.38.3
"@fontsource/inter@5.1.0": {}
"@fontsource/inter@5.1.1": {}
"@fontsource/rubik@5.1.0": {}
"@fontsource/rubik@5.1.1": {}
"@humanwhocodes/momoa@2.0.4": {}
@ -8750,9 +8750,9 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
postcss-color-functional-notation@7.0.6(postcss@8.4.49):
postcss-color-functional-notation@7.0.7(postcss@8.4.49):
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
@ -8875,9 +8875,9 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.4.49
postcss-lab-function@7.0.6(postcss@8.4.49):
postcss-lab-function@7.0.7(postcss@8.4.49):
dependencies:
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-color-parser": 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
@ -9016,17 +9016,17 @@ snapshots:
postcss: 8.4.49
postcss-value-parser: 4.2.0
postcss-preset-env@10.1.2(postcss@8.4.49):
postcss-preset-env@10.1.3(postcss@8.4.49):
dependencies:
"@csstools/postcss-cascade-layers": 5.0.1(postcss@8.4.49)
"@csstools/postcss-color-function": 4.0.6(postcss@8.4.49)
"@csstools/postcss-color-mix-function": 3.0.6(postcss@8.4.49)
"@csstools/postcss-color-function": 4.0.7(postcss@8.4.49)
"@csstools/postcss-color-mix-function": 3.0.7(postcss@8.4.49)
"@csstools/postcss-content-alt-text": 2.0.4(postcss@8.4.49)
"@csstools/postcss-exponential-functions": 2.0.5(postcss@8.4.49)
"@csstools/postcss-exponential-functions": 2.0.6(postcss@8.4.49)
"@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.4.49)
"@csstools/postcss-gamut-mapping": 2.0.6(postcss@8.4.49)
"@csstools/postcss-gradients-interpolation-method": 5.0.6(postcss@8.4.49)
"@csstools/postcss-hwb-function": 4.0.6(postcss@8.4.49)
"@csstools/postcss-gamut-mapping": 2.0.7(postcss@8.4.49)
"@csstools/postcss-gradients-interpolation-method": 5.0.7(postcss@8.4.49)
"@csstools/postcss-hwb-function": 4.0.7(postcss@8.4.49)
"@csstools/postcss-ic-unit": 4.0.0(postcss@8.4.49)
"@csstools/postcss-initial": 2.0.0(postcss@8.4.49)
"@csstools/postcss-is-pseudo-class": 5.0.1(postcss@8.4.49)
@ -9036,19 +9036,19 @@ snapshots:
"@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.4.49)
"@csstools/postcss-logical-resize": 3.0.0(postcss@8.4.49)
"@csstools/postcss-logical-viewport-units": 3.0.3(postcss@8.4.49)
"@csstools/postcss-media-minmax": 2.0.5(postcss@8.4.49)
"@csstools/postcss-media-minmax": 2.0.6(postcss@8.4.49)
"@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.4(postcss@8.4.49)
"@csstools/postcss-nested-calc": 4.0.0(postcss@8.4.49)
"@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.4.49)
"@csstools/postcss-oklab-function": 4.0.6(postcss@8.4.49)
"@csstools/postcss-oklab-function": 4.0.7(postcss@8.4.49)
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.49)
"@csstools/postcss-random-function": 1.0.1(postcss@8.4.49)
"@csstools/postcss-relative-color-syntax": 3.0.6(postcss@8.4.49)
"@csstools/postcss-random-function": 1.0.2(postcss@8.4.49)
"@csstools/postcss-relative-color-syntax": 3.0.7(postcss@8.4.49)
"@csstools/postcss-scope-pseudo-class": 4.0.1(postcss@8.4.49)
"@csstools/postcss-sign-functions": 1.1.0(postcss@8.4.49)
"@csstools/postcss-stepped-value-functions": 4.0.5(postcss@8.4.49)
"@csstools/postcss-sign-functions": 1.1.1(postcss@8.4.49)
"@csstools/postcss-stepped-value-functions": 4.0.6(postcss@8.4.49)
"@csstools/postcss-text-decoration-shorthand": 4.0.1(postcss@8.4.49)
"@csstools/postcss-trigonometric-functions": 4.0.5(postcss@8.4.49)
"@csstools/postcss-trigonometric-functions": 4.0.6(postcss@8.4.49)
"@csstools/postcss-unset-value": 4.0.0(postcss@8.4.49)
autoprefixer: 10.4.20(postcss@8.4.49)
browserslist: 4.24.3
@ -9059,7 +9059,7 @@ snapshots:
postcss: 8.4.49
postcss-attribute-case-insensitive: 7.0.1(postcss@8.4.49)
postcss-clamp: 4.1.0(postcss@8.4.49)
postcss-color-functional-notation: 7.0.6(postcss@8.4.49)
postcss-color-functional-notation: 7.0.7(postcss@8.4.49)
postcss-color-hex-alpha: 10.0.0(postcss@8.4.49)
postcss-color-rebeccapurple: 10.0.0(postcss@8.4.49)
postcss-custom-media: 11.0.5(postcss@8.4.49)
@ -9072,7 +9072,7 @@ snapshots:
postcss-font-variant: 5.0.0(postcss@8.4.49)
postcss-gap-properties: 6.0.0(postcss@8.4.49)
postcss-image-set-function: 7.0.0(postcss@8.4.49)
postcss-lab-function: 7.0.6(postcss@8.4.49)
postcss-lab-function: 7.0.7(postcss@8.4.49)
postcss-logical: 8.0.0(postcss@8.4.49)
postcss-nesting: 13.0.1(postcss@8.4.49)
postcss-opacity-percentage: 3.0.0(postcss@8.4.49)

View File

@ -210,12 +210,15 @@ if (! function_exists('podcast_hit')) {
* Counting podcast episode downloads for analytic purposes No IP address is ever stored on the server. Only
* aggregate data is stored in the database. We follow IAB Podcast Measurement Technical Guidelines Version 2.0:
* https://iabtechlab.com/standards/podcast-measurement-guidelines/
* https://iabtechlab.com/wp-content/uploads/2017/12/Podcast_Measurement_v2-Dec-20-2017.pdf 24-hour window
* Castopod does not do pre-load IP deny list https://github.com/client9/ipcat User-agent Filtering
* https://github.com/opawg/user-agents RSS User-agent https://github.com/opawg/podcast-rss-useragents
* Ignores 2 bytes range "Range: 0-1" (performed by official Apple iOS Podcast app) In case of partial content,
* adds up all requests to check >1mn was downloaded Identifying Uniques is done with a combination of IP
* Address and User Agent
* https://iabtechlab.com/wp-content/uploads/2017/12/Podcast_Measurement_v2-Dec-20-2017.pdf
* 24-hour window
* Castopod does not do pre-load
* IP deny list https://github.com/client9/ipcat
* User-agent Filtering https://github.com/opawg/user-agents-v2
* RSS User-agent https://github.com/opawg/podcast-rss-useragents
* Ignores 2 bytes range "Range: 0-1" (performed by official Apple iOS Podcast app)
* In case of partial content, adds up all requests to check >1mn was downloaded
* Identifying Uniques is done with a combination of IP Address and User Agent
*
* @param integer $podcastId The podcast ID
* @param integer $episodeId The Episode ID

View File

@ -2,6 +2,34 @@ openapi: 3.1.0
info:
version: 1.0.0
title: Castopod API
description: |-
The Castopod API offers you a programmatic way to integrate your Podcasts and
Episodes in your apps and help you automate creation and publishing.
⚠️ **The API is disabled by default.**
You may add the following feature flag in your `.env` to activate it:
```ini
restapi.enabled=true
```
Operations to add or publish episodes require you to setup basic authentication
in your `.env`:
```ini
restapi.basicAuth=true
restapi.basicAuthUsername="YOUR_BASIC_AUTH_USERNAME"
restapi.basicAuthPassword="YOUR_BASIC_AUTH_PASSWORD"
```
With BasicAuth enabled, your requests must include the `Authorization` header
with the username and password you have set previously:
```
"Authorization": "Basic username:password"
```
license:
name: AGPL v3
url: https://code.castopod.org/adaures/castopod/-/blob/develop/LICENSE.md

View File

@ -51,7 +51,7 @@
"leaflet.markercluster": "^1.5.3",
"lit": "^3.2.1",
"marked": "^15.0.4",
"wavesurfer.js": "^7.8.12",
"wavesurfer.js": "^7.8.14",
"xml-formatter": "^3.6.3"
},
"devDependencies": {
@ -79,11 +79,11 @@
"globals": "^15.14.0",
"husky": "^9.1.7",
"is-ci": "^4.1.0",
"lint-staged": "^15.2.11",
"lint-staged": "^15.3.0",
"postcss": "^8.4.49",
"postcss-import": "^16.1.0",
"postcss-nesting": "^13.0.1",
"postcss-preset-env": "^10.1.2",
"postcss-preset-env": "^10.1.3",
"postcss-reporter": "^7.1.0",
"prettier": "3.4.2",
"prettier-plugin-organize-imports": "^4.1.0",
@ -93,8 +93,8 @@
"svgo": "^3.3.2",
"tailwindcss": "^3.4.17",
"typescript": "~5.7.2",
"typescript-eslint": "^8.18.1",
"vite": "^6.0.5",
"typescript-eslint": "^8.18.2",
"vite": "^6.0.6",
"vite-plugin-pwa": "^0.21.1",
"workbox-build": "^7.3.0",
"workbox-core": "^7.3.0",

538
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff