Compare commits

...

12 Commits

Author SHA1 Message Date
Nikita Karamov 95e1011dca Add type annotations to transform() 2024-02-25 01:13:41 +01:00
Nikita Karamov 8f61bc80c1 Update Astro and adapters 2024-02-25 01:13:41 +01:00
Nikita Karamov b7001edc6e Update Sharp 2024-02-25 01:13:41 +01:00
Nikita Karamov 4b41ec6238 Update lint-staged 2024-02-25 01:13:41 +01:00
Nikita Karamov c432d71b36 Update Husky 2024-02-25 01:13:41 +01:00
Nikita Karamov 146274ebf2 Update eslint-plugin-unicorn 2024-02-25 01:13:41 +01:00
Nikita Karamov fc53cc46f7 Update Stylelint 2024-02-25 01:13:41 +01:00
Nikita Karamov 4a4899f3db Update Astro dev dependencies 2024-02-25 01:13:41 +01:00
Nikita Karamov 031d9825d9 Update dependencies 2024-02-25 01:13:41 +01:00
Nikita Karamov 8e38dd5b63
Translations update from Hosted Weblate (#68)
Translations update from Hosted Weblate
2024-02-14 11:59:00 +01:00
Nikita Karamov 2364b8de68
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (23 of 23 strings)

Translation: Share₂Fedi/Site
Translate-URL: https://hosted.weblate.org/projects/share2fedi/site/uk/
2024-02-13 20:01:58 +01:00
Nikita Karamov 9843ed6937
Translated using Weblate (French)
Currently translated at 100.0% (23 of 23 strings)

Translation: Share₂Fedi/Site
Translate-URL: https://hosted.weblate.org/projects/share2fedi/site/fr/
2024-02-13 20:01:57 +01:00
8 changed files with 2158 additions and 2163 deletions

View File

@ -22,10 +22,10 @@ jobs:
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Use latest Node.js
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: 18
node-version: "^18.17.0"
cache: "pnpm"
- run: pnpm install
- run: pnpm check

View File

@ -18,6 +18,11 @@ jobs:
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: "^18.17.0"
cache: "pnpm"
- run: pnpm install --frozen-lockfile

View File

@ -1,10 +1,7 @@
#!/usr/bin/env sh
# This file is part of Share₂Fedi
# https://github.com/kytta/share2fedi
#
# SPDX-FileCopyrightText: © 2023 Nikita Karamov <me@kytta.dev>
# SPDX-License-Identifier: CC0-1.0
. "$(dirname -- "$0")/_/husky.sh"
npx lint-staged

View File

@ -7,14 +7,16 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { defineConfig } from "astro/config";
import lightningcss from "vite-plugin-lightningcss";
import cloudflare from "@astrojs/cloudflare";
import deno from "@astrojs/deno";
import netlify from "@astrojs/netlify/functions";
import netlify from "@astrojs/netlify";
import node from "@astrojs/node";
import vercel from "@astrojs/vercel/serverless";
import browserslist from "browserslist";
import { browserslistToTargets, transform } from "lightningcss";
let adapterConfig = {};
if (process.env.VERCEL) {
console.info("Using Vercel (serverless) adapter...");
@ -24,7 +26,7 @@ if (process.env.VERCEL) {
}),
};
} else if (process.env.CF_PAGES) {
console.info("Using Cloudflare adapter...");
console.info("Using Cloudflare (Pages) adapter...");
adapterConfig = {
adapter: cloudflare(),
};
@ -48,6 +50,29 @@ if (process.env.VERCEL) {
};
}
const lightningCssPlugin = () => {
const targets = browserslistToTargets(browserslist());
return {
name: "vite-plugin-lightningcss",
transform(source: string, id: string) {
if (!id.endsWith(".css")) return;
const { code, map } = transform({
filename: id,
code: Buffer.from(source),
minify: true,
sourceMap: true,
targets,
});
return {
code: code.toString(),
// eslint-disable-next-line unicorn/no-null
map: map ? map.toString() : null,
};
},
};
};
export default defineConfig({
site: "https://s2f.kytta.dev",
@ -55,6 +80,6 @@ export default defineConfig({
...adapterConfig,
vite: {
plugins: [lightningcss()],
plugins: [lightningCssPlugin()],
},
});

View File

@ -28,39 +28,40 @@
"fix:prettier": "prettier --write --ignore-unknown --plugin=prettier-plugin-astro",
"fix:stylelint": "stylelint --fix",
"test": "pnpm run check",
"prepare": "husky install"
"prepare": "husky"
},
"browserslist": "cover 95%, last 2 versions, Firefox ESR, not dead",
"dependencies": {
"@astrojs/cloudflare": "^7.5.1",
"@astrojs/cloudflare": "^9.0.0",
"@astrojs/deno": "^5.0.1",
"@astrojs/netlify": "^3.0.2",
"@astrojs/node": "^6.0.3",
"@astrojs/vercel": "^5.0.2",
"@astrojs/netlify": "^5.1.1",
"@astrojs/node": "^8.2.0",
"@astrojs/vercel": "^7.3.0",
"@nanostores/persistent": "^0.9.1",
"astro": "^3.2.3",
"nanostores": "^0.9.3"
"astro": "^4.3.6",
"nanostores": "^0.9.5"
},
"devDependencies": {
"@astrojs/check": "^0.2.0",
"@types/node": "^18.18.4",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"eslint": "^8.51.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-astro": "^0.29.1",
"eslint-plugin-unicorn": "^48.0.1",
"husky": "^8.0.3",
"lint-staged": "^14.0.1",
"prettier": "^3.0.3",
"prettier-plugin-astro": "^0.12.0",
"sass": "^1.69.0",
"sharp": "^0.32.6",
"stylelint": "^15.10.3",
"stylelint-config-standard-scss": "^11.0.0",
"svgo": "^3.0.2",
"typescript": "^5.2.2",
"vite-plugin-lightningcss": "^0.0.5"
"@astrojs/check": "^0.5.3",
"@types/node": "^18.17.0",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"browserslist": "^4.22.3",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-astro": "^0.31.4",
"eslint-plugin-unicorn": "^51.0.1",
"husky": "^9.0.10",
"lightningcss": "^1.23.0",
"lint-staged": "^15.2.2",
"prettier": "^3.2.5",
"prettier-plugin-astro": "^0.13.0",
"sass": "^1.70.0",
"sharp": "^0.33.2",
"stylelint": "^16.2.1",
"stylelint-config-standard-scss": "^13.0.0",
"svgo": "^3.2.0",
"typescript": "^5.3.3"
},
"lint-staged": {
"*": "pnpm run fix:prettier",
@ -73,5 +74,8 @@
},
"stylelint": {
"extends": "stylelint-config-standard-scss"
},
"engines": {
"node": "^18.17.0 || >= 20.3.0"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,25 +1,25 @@
{
"metaDescription": "Share₂Fedi est une page de partage pour Mastodon, Misskey, Friendica et autres. Tapez votre texte de publication et lURL de linstance, puis cliquez sur « Publier » !",
"language": "Langue :",
"metaDescription": "Share₂Fedi est une page de partage pour Mastodon, Misskey, Friendica et autres. Tapez votre texte de publication et lURL de linstance, puis cliquez sur « Publier »!",
"language": "Langue:",
"description": "Share₂Fedi est une page de partage indépendante pour {}. Avec elle, vous pouvez publier sur diverses plateformes fédérées depuis une seule page.",
"fediverse": "le Fediverse",
"supportedProjects": "Projets pris en charge :",
"supportedProjects": "Projets pris en charge:",
"incl": "dont",
"credits": "Share₂Fedi est développé et maintenu par {}. Le code source est {}. Hébergé avec {}. {}.",
"nikita": "Nikita Karamov",
"onGitHub": "sur GitHub",
"statusPage": "Page de statut",
"licence": "Licence",
"licence1": "Share₂Fedi est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale Affero, version 3, telle que publiée par la Free Software Foundation.",
"licence2": "Share₂Fedi est distribué dans lespoir quil sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou DADÉQUATION À UN USAGE PARTICULIER. Consultez la licence publique générale Affero de GNU pour plus de détails.",
"licence1": "Share₂Fedi est un logiciel libre: vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale Affero, version 3, telle que publiée par la Free Software Foundation.",
"licence2": "Share₂Fedi est distribué dans lespoir quil sera utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite de QUALITÉ MARCHANDE ou DADÉQUATION À UN USAGE PARTICULIER. Consultez la licence publique générale Affero de GNU pour plus de détails.",
"privacyNotice": "Avis de confidentialité",
"privacy1": "s2f.kytta.dev est hébergé sur Vercel. Vercel traite les adresses IP, les informations de configuration système et dautres informations sur le trafic vers et depuis s2f.kytta.dev. Vercel ne stocke pas ces informations et ne les partage pas avec des tiers. Voir {} pour plus dinformations.",
"privacy2": "Lorsque vous cliquez sur le bouton « Publier », vous êtes redirigé vers une instance du Fediverse que vous avez spécifiée. Elle peut traiter et/ou stocker vos données. Veuillez vous référer à la politique de confidentialité de linstance respective.",
"privacy2": "Lorsque vous cliquez sur le bouton « Publier », vous êtes redirigé vers une instance du Fediverse que vous avez spécifiée. Elle peut traiter et/ou stocker vos données. Veuillez vous référer à la politique de confidentialité de linstance respective.",
"vercelPP": "Politique de confidentialité de Vercel",
"postText": "Texte de la publication",
"postTextPlaceholder": "Quoi de neuf ?",
"postTextPlaceholder": "Quoi de neuf?",
"instance": "Instance du Fediverse",
"previouslyUsed": "Utilisé précédemment :",
"previouslyUsed": "Utilisé précédemment:",
"rememberInstance": "Se souvenir de linstance sur cet appareil",
"publish": "Publier"
}

View File

@ -9,5 +9,17 @@
"licence": "Ліцензія",
"language": "Мова:",
"supportedProjects": "Підтримувані проєкти:",
"onGitHub": "на GitHub"
"onGitHub": "на GitHub",
"description": "Share₂Fedi - це інстанс-незалежна share-сторінка для {}. З її допомогою ви можете ділитися інформацією на різних федеративних платформах з однієї сторінки.",
"fediverse": "федіверсу",
"credits": "Share₂Fedi розробляється і підтримується {}. Вихідний код на {}. Розміщено на {}. {}.",
"nikita": "Микитою Карамовим",
"licence1": "Share₂Fedi є вільним програмним забезпеченням: ви можете розповсюджувати його та/або модифікувати відповідно до умов Загальної публічної ліцензії Affero GNU, версії 3, опублікованої Фондом вільного програмного забезпечення.",
"licence2": "Share₂Fedi розповсюджується з надією, що воно буде корисним, але БЕЗ ЖОДНИХ ГАРАНТІЙ; без навіть неявної гарантії ТОВАРНОСТІ або ПРИДАТНОСТІ ДЛЯ ПЕВНОЇ ЦІЛІ. Для більш детальної інформації див. Загальну публічну ліцензію Affero GNU.",
"privacy1": "Сайт s2f.kytta.dev розміщений на серверах Vercel. Vercel обробляє IP-адреси, інформацію про конфігурацію системи та іншу інформацію про трафік, що йде до s2f.kytta.dev і від нього. Vercel не зберігає цю інформацію і не передає її третім особам. Більш детальну інформацію див. у {}.",
"privacy2": "Коли ви натискаєте кнопку \"Опублікувати\", ви потрапляєте на вказаний вами інстанс федіверсу. Він може обробляти та/або зберігати ваші дані. Будь ласка, ознайомтеся з політикою конфіденційності відповідного інстансу.",
"vercelPP": "Політиці конфіденційності Vercel",
"postText": "Текст повідомлення",
"instance": "Інстанс федіверсу",
"previouslyUsed": "Раніше використовувалися:"
}