diff --git a/package-lock.json b/package-lock.json index 7977555..44d084e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1228,6 +1228,7 @@ "integrity": "sha512-44Mm5csR4mesKx2Eyhtk8UVrLJ4c04BT2wMTfYGKJMOkUqpHP5KLL2DPV0hXUA4t4+T3ZYe0aBygd42lVYv2cA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", @@ -1290,7 +1291,6 @@ "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "debug": "^4.3.7" }, @@ -1594,6 +1594,7 @@ "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.20.0" } @@ -1611,6 +1612,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1787,6 +1789,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -1970,7 +1973,6 @@ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -2086,6 +2088,7 @@ "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -3338,6 +3341,7 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -3365,6 +3369,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -3505,6 +3510,7 @@ "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3521,6 +3527,7 @@ "integrity": "sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" @@ -3880,6 +3887,7 @@ "integrity": "sha512-2Mo/AfObaw9zuD0u1JJ7sOVzRCGcpETEyDkLbtkcctWpCMCIyT0iz83xD8JT29SR7O4SgswuPRIDYReYF/607A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", @@ -4032,7 +4040,8 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.9.tgz", "integrity": "sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/tapable": { "version": "2.2.1", @@ -4110,6 +4119,7 @@ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4253,6 +4263,7 @@ "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -4328,7 +4339,6 @@ "integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==", "dev": true, "license": "MIT", - "peer": true, "workspaces": [ "tests/deps/*", "tests/projects/*" diff --git a/src/lib/util/Blogs.ts b/src/lib/util/Blogs.ts index 47939b5..9b1beaa 100644 --- a/src/lib/util/Blogs.ts +++ b/src/lib/util/Blogs.ts @@ -28,6 +28,13 @@ export async function fetchPostsSorted(postComparer?: PostComparer) { return sortedPosts; }; +// rndtrash: пришлось заменить `path.parse`, так как на стороне клиента его больше не реализуют +function getFilenameFromPath(path: string) { + const file = path.split("/").pop(); + const dot = file?.lastIndexOf('.') ?? -1; + return dot === -1 ? file : file?.substring(0, file.lastIndexOf('.')); +} + export async function fetchPosts() { const allPostFiles = import.meta.glob('/src/blogs/*.md'); const iterablePostFiles = Object.entries(allPostFiles); @@ -35,7 +42,7 @@ export async function fetchPosts() { const allPosts: App.BlogPost[] = await Promise.all( iterablePostFiles.map(async ([filePath, resolver]) => { const { metadata }: any = await resolver(); - const { name } = path.parse(filePath); + const name = getFilenameFromPath(filePath); return { slug: name, diff --git a/src/pages/index.md b/src/pages/index.md new file mode 100644 index 0000000..e206d50 --- /dev/null +++ b/src/pages/index.md @@ -0,0 +1,39 @@ +# Кто мы? + +__Tea Sanctuary__ — это в первую очередь коллектив друзей, разрабатывающих +проекты для души, для всеобщего пользования и даже на заказ. С +__8 июля 2017 года__ мы ведём публичную деятельность в сфере разработки ПО и развлечений. + +__Tea Sanctuary__ — это также и сообщество единомышленников. Любовь к добротным +видеоиграм и пассивная агрессия к вычислительной технике у нас в крови. Когда-то сообщество +было закрытым и насчитывало около 50 участников, но впоследствии мы решили его расширить. +Станьте частью коллектива! + +# Что делаем? + +Наша главная страсть — это, конечно, видеоигры. Мы часто участвуем в так +называемых "гейм джемах" — конкурсах на разработку игр. Наши игры вы можете +оценить здесь: [RandomTrash](https://randomtrash.itch.io) +[FriendlyWithMeat](https://friendlywithmeat.itch.io). +Также мы ведём работу над нашим первым полноценным игровым проектом. +Следите за новостями в нашем [сообществе](https://teasanctuary.ru/discord)! + +Отдельные участники нашего коллектива занимаются модификацией существующих игр, +добавляя в них новый контент. Например, __MegaZerg__ создаёт оригинальные карты +для такой бессмертной классики, как __Counter-Strike 1.6__ и __Half-Life Deathmatch__, +и выкладывает их на ресурс GameBanana: [kemist](https://gamebanana.com/members/2971042) + +Мы размещаем игровые сервера, как постоянные, так и временные для различных событий. +Например, у нас есть сервер [Tea Sanctuary HLDM](https://hl.teasanctuary.ru), +где вы можете ознакомиться с новыми картами от всего сообщества Half-Life. + +Не одними играми едины, за нашими плечами есть несколько прикладных программ, +созданных под заказ. Про них ничего особо рассказать не можем, но если вам надо +что-нибудь сделать — пишите нам! + +# Как с вами связаться? + +Общие вопросы можно задавать в [сообществе Tea Sanctuary](https://teasanctuary.ru/discord). +Там же можете написать личное сообщение администраторам. + +Наши соцсети и почту для более важных обращений можно найти на странице [Контакты](/contact). diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts deleted file mode 100644 index de4f6ab..0000000 --- a/src/routes/+page.server.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { fetchPostsSorted, sortPostsByPostAndUpdateDate } from "$src/lib/util/Blogs"; - -const LATEST_POSTS_COUNT = 3; - -export async function load() { - return { posts: (await fetchPostsSorted(sortPostsByPostAndUpdateDate)).slice(0, LATEST_POSTS_COUNT) }; -} \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 36571a1..1e6f7a7 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,9 +1,11 @@ @@ -93,80 +95,34 @@ -
-
-
-

Кто мы?

-
- Tea Sanctuary — это в первую очередь коллектив друзей, разрабатывающих - проекты для души, для всеобщего пользования и даже на заказ. С - 8 июля 2017 года мы ведём публичную деятельность в сфере разработки ПО и развлечений. -
-
-
- Tea Sanctuary — это также и сообщество единомышленников. Любовь к добротным - видеоиграм и пассивная агрессия к вычислительной технике у нас в крови. Когда-то сообщество - было закрытым и насчитывало около 50 участников, но впоследствии мы решили его расширить. - Станьте частью коллектива! -
-
-
-

Что делаем?

-
- Наша главная страсть — это, конечно, видеоигры. Мы часто участвуем в так - называемых "гейм джемах" — конкурсах на разработку игр. Наши игры вы можете - оценить здесь: - RandomTrash - - FriendlyWithMeat - . Также мы ведём работу над нашим первым полноценным игровым - проектом. Следите за новостями в нашем - сообществе! -
-
-
- Отдельные участники нашего коллектива занимаются модификацией существующих игр, - добавляя в них новый контент. Например, MegaZerg создаёт оригинальные карты - для такой бессмертной классики, как Counter-Strike 1.6, и выкладывает их на ресурс - GameBanana: - - kemist - -
-
-
- Мы размещаем игровые сервера, как постоянные, так и временные для различных событий. - Например, у нас есть сервер - - Tea Sanctuary HLDM - , где вы можете ознакомиться с новыми картами от всего сообщества - Half-Life. -
-
-
- Не одними играми едины, за нашими плечами есть несколько прикладных программ, - созданных под заказ. Про них ничего особо рассказать не можем, но если вам надо - что-нибудь сделать — пишите нам! -
-
-
-

Как с вами связаться?

-
- Общие вопросы можно задавать в - - сообществе Tea Sanctuary - . Там же можете написать личное сообщение администраторам. -
-
-
- Наши соцсети и почту для более важных обращений можно найти на странице - Контакты. -
-
-
-
+
+
+ +
+