diff --git a/package-lock.json b/package-lock.json index 44d084e..7977555 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1228,7 +1228,6 @@ "integrity": "sha512-44Mm5csR4mesKx2Eyhtk8UVrLJ4c04BT2wMTfYGKJMOkUqpHP5KLL2DPV0hXUA4t4+T3ZYe0aBygd42lVYv2cA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", @@ -1291,6 +1290,7 @@ "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "debug": "^4.3.7" }, @@ -1594,7 +1594,6 @@ "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.20.0" } @@ -1612,7 +1611,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1789,7 +1787,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", @@ -1973,6 +1970,7 @@ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -2088,7 +2086,6 @@ "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", @@ -3341,7 +3338,6 @@ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -3369,7 +3365,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", @@ -3510,7 +3505,6 @@ "integrity": "sha512-lc6npv5PH7hVqozBR7lkBNOGXV9vMwROAPlumdBkX0wTbbzPu/U1hk5yL8p2pt4Xoc+2mkT8t/sow2YrV/M5qg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3527,7 +3521,6 @@ "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" @@ -3887,7 +3880,6 @@ "integrity": "sha512-2Mo/AfObaw9zuD0u1JJ7sOVzRCGcpETEyDkLbtkcctWpCMCIyT0iz83xD8JT29SR7O4SgswuPRIDYReYF/607A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@ampproject/remapping": "^2.3.0", "@jridgewell/sourcemap-codec": "^1.5.0", @@ -4040,8 +4032,7 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.9.tgz", "integrity": "sha512-12laZu+fv1ONDRoNR9ipTOpUD7RN9essRVkX36sjxuRUInpN7hIiHN4lBd/SIFjbISvnXzp8h/hXzmU8SQQYhw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tapable": { "version": "2.2.1", @@ -4119,7 +4110,6 @@ "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4263,7 +4253,6 @@ "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -4339,6 +4328,7 @@ "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 9b1beaa..47939b5 100644 --- a/src/lib/util/Blogs.ts +++ b/src/lib/util/Blogs.ts @@ -28,13 +28,6 @@ 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); @@ -42,7 +35,7 @@ export async function fetchPosts() { const allPosts: App.BlogPost[] = await Promise.all( iterablePostFiles.map(async ([filePath, resolver]) => { const { metadata }: any = await resolver(); - const name = getFilenameFromPath(filePath); + const { name } = path.parse(filePath); return { slug: name, diff --git a/src/pages/index.md b/src/pages/index.md deleted file mode 100644 index e206d50..0000000 --- a/src/pages/index.md +++ /dev/null @@ -1,39 +0,0 @@ -# Кто мы? - -__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 new file mode 100644 index 0000000..de4f6ab --- /dev/null +++ b/src/routes/+page.server.ts @@ -0,0 +1,7 @@ +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 1e6f7a7..36571a1 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,11 +1,9 @@ @@ -95,34 +93,80 @@ -
-
- -
-
+
+
+
+

Кто мы?

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

Что делаем?

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

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

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