Перенёс текст с главной страницы в файл Markdown
This commit is contained in:
parent
2024fa9f4b
commit
0643f48189
5 changed files with 95 additions and 83 deletions
|
|
@ -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,
|
||||
|
|
|
|||
39
src/pages/index.md
Normal file
39
src/pages/index.md
Normal file
|
|
@ -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).
|
||||
|
|
@ -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) };
|
||||
}
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
<script lang="ts">
|
||||
import SocialButton from '$lib/components/SocialButton.svelte';
|
||||
import SocialHyperlink from '$lib/components/SocialHyperlink.svelte';
|
||||
import { PUBLIC_TS_DISCORD } from '$env/static/public';
|
||||
import BlogCard, { BlogCardSize } from '$src/lib/components/BlogCard.svelte';
|
||||
import { page } from '$app/state';
|
||||
import type { PageData } from './$types';
|
||||
|
||||
export let data: PageData;
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
|
|
@ -93,80 +95,34 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
<section class="flex justify-center bg-slate-50 text-slate-950">
|
||||
<div
|
||||
class="flex w-5xl max-w-screen flex-col flex-nowrap gap-12 p-2 px-2 pt-12 pb-12 text-base sm:text-xl"
|
||||
<article
|
||||
class="prose
|
||||
sm:prose-xl
|
||||
prose-slate
|
||||
prose-code:break-words
|
||||
prose-pre:drop-shadow-md
|
||||
prose-headings:font-disket
|
||||
prose-headings:my-4
|
||||
prose-headings:font-bold
|
||||
prose-headings:text-slate-950
|
||||
prose-h1:text-2xl
|
||||
prose-h1:sm:text-4xl
|
||||
prose-h2:text-xl
|
||||
prose-h2:sm:text-3xl
|
||||
prose-p:text-justify
|
||||
prose-p:mt-0
|
||||
prose-p:mb-8
|
||||
bg-slate-50
|
||||
pt-8
|
||||
pb-4
|
||||
text-base
|
||||
text-slate-950
|
||||
px-2 sm:px-4 sm:text-xl"
|
||||
>
|
||||
<section id="who-are-we">
|
||||
<h1>Кто мы?</h1>
|
||||
<div class="text-justify">
|
||||
<b>Tea Sanctuary</b> — это в первую очередь коллектив друзей, разрабатывающих
|
||||
проекты для души, для всеобщего пользования и даже на заказ. С
|
||||
<b>8 июля 2017 года</b> мы ведём публичную деятельность в сфере разработки ПО и развлечений.
|
||||
</div>
|
||||
<br />
|
||||
<div class="text-justify">
|
||||
<b>Tea Sanctuary</b> — это также и сообщество единомышленников. Любовь к добротным
|
||||
видеоиграм и пассивная агрессия к вычислительной технике у нас в крови. Когда-то сообщество
|
||||
было закрытым и насчитывало около 50 участников, но впоследствии мы решили его расширить.
|
||||
Станьте частью коллектива!
|
||||
</div>
|
||||
</section>
|
||||
<section id="what-are-we-doing">
|
||||
<h1>Что делаем?</h1>
|
||||
<div class="text-justify">
|
||||
Наша главная страсть — это, конечно, видеоигры. Мы часто участвуем в так
|
||||
называемых "гейм джемах" — конкурсах на разработку игр. Наши игры вы можете
|
||||
оценить здесь:
|
||||
<SocialHyperlink href="https://randomtrash.itch.io">RandomTrash</SocialHyperlink>
|
||||
<SocialHyperlink href="https://friendlywithmeat.itch.io/">
|
||||
FriendlyWithMeat
|
||||
</SocialHyperlink>. Также мы ведём работу над нашим первым полноценным игровым
|
||||
проектом. Следите за новостями в нашем
|
||||
<SocialHyperlink href={PUBLIC_TS_DISCORD}>сообществе</SocialHyperlink>!
|
||||
</div>
|
||||
<br />
|
||||
<div class="text-justify">
|
||||
Отдельные участники нашего коллектива занимаются модификацией существующих игр,
|
||||
добавляя в них новый контент. Например, <b>MegaZerg</b> создаёт оригинальные карты
|
||||
для такой бессмертной классики, как Counter-Strike 1.6, и выкладывает их на ресурс
|
||||
GameBanana:
|
||||
<SocialHyperlink href="https://gamebanana.com/members/2971042">
|
||||
kemist
|
||||
</SocialHyperlink>
|
||||
</div>
|
||||
<br />
|
||||
<div class="text-justify">
|
||||
Мы размещаем игровые сервера, как постоянные, так и временные для различных событий.
|
||||
Например, у нас есть сервер
|
||||
<SocialHyperlink href="https://hl.teasanctuary.ru">
|
||||
Tea Sanctuary HLDM
|
||||
</SocialHyperlink>, где вы можете ознакомиться с новыми картами от всего сообщества
|
||||
Half-Life.
|
||||
</div>
|
||||
<br />
|
||||
<div class="text-justify">
|
||||
Не одними играми едины, за нашими плечами есть несколько прикладных программ,
|
||||
созданных под заказ. Про них ничего особо рассказать не можем, но если вам надо
|
||||
что-нибудь сделать — пишите нам!
|
||||
</div>
|
||||
</section>
|
||||
<section id="how-can-you-contact-us">
|
||||
<h1>Как с вами связаться?</h1>
|
||||
<div class="text-justify">
|
||||
Общие вопросы можно задавать в
|
||||
<SocialHyperlink href={PUBLIC_TS_DISCORD}>
|
||||
сообществе Tea Sanctuary
|
||||
</SocialHyperlink>. Там же можете написать личное сообщение администраторам.
|
||||
</div>
|
||||
<br />
|
||||
<div class="text-justify">
|
||||
Наши соцсети и почту для более важных обращений можно найти на странице
|
||||
<SocialHyperlink href="/contact">Контакты</SocialHyperlink>.
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<section class="flex max-w-5xl flex-col flex-nowrap mx-auto">
|
||||
<svelte:component this={data.content} />
|
||||
</section>
|
||||
</article>
|
||||
|
||||
<style>
|
||||
@import '$src/app.css';
|
||||
|
|
|
|||
17
src/routes/+page.ts
Normal file
17
src/routes/+page.ts
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import { fetchPostsSorted, sortPostsByPostAndUpdateDate } from "$src/lib/util/Blogs";
|
||||
|
||||
const LATEST_POSTS_COUNT = 3;
|
||||
|
||||
export async function load() {
|
||||
let md: any
|
||||
try {
|
||||
md = await import("$src/pages/index.md");
|
||||
} catch (ex) {
|
||||
throw "Не удалось найти текст для главной страницы";
|
||||
}
|
||||
console.log("TEST", md.default);
|
||||
return {
|
||||
content: md.default,
|
||||
posts: (await fetchPostsSorted(sortPostsByPostAndUpdateDate)).slice(0, LATEST_POSTS_COUNT)
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue