Skip to content

Commit 1aaf3dc

Browse files
committed
initial website created
1 parent 9214ef6 commit 1aaf3dc

File tree

137 files changed

+14412
-9953
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+14412
-9953
lines changed

.astro/types.d.ts

+238
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
declare module 'astro:content' {
2+
interface Render {
3+
'.mdx': Promise<{
4+
Content: import('astro').MarkdownInstance<{}>['Content'];
5+
headings: import('astro').MarkdownHeading[];
6+
remarkPluginFrontmatter: Record<string, any>;
7+
}>;
8+
}
9+
}
10+
11+
declare module 'astro:content' {
12+
interface Render {
13+
'.md': Promise<{
14+
Content: import('astro').MarkdownInstance<{}>['Content'];
15+
headings: import('astro').MarkdownHeading[];
16+
remarkPluginFrontmatter: Record<string, any>;
17+
}>;
18+
}
19+
}
20+
21+
declare module 'astro:content' {
22+
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
23+
24+
export type CollectionKey = keyof AnyEntryMap;
25+
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
26+
27+
export type ContentCollectionKey = keyof ContentEntryMap;
28+
export type DataCollectionKey = keyof DataEntryMap;
29+
30+
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
31+
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
32+
ContentEntryMap[C]
33+
>['slug'];
34+
35+
export function getEntryBySlug<
36+
C extends keyof ContentEntryMap,
37+
E extends ValidContentEntrySlug<C> | (string & {}),
38+
>(
39+
collection: C,
40+
// Note that this has to accept a regular string too, for SSR
41+
entrySlug: E
42+
): E extends ValidContentEntrySlug<C>
43+
? Promise<CollectionEntry<C>>
44+
: Promise<CollectionEntry<C> | undefined>;
45+
46+
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
47+
collection: C,
48+
entryId: E
49+
): Promise<CollectionEntry<C>>;
50+
51+
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
52+
collection: C,
53+
filter?: (entry: CollectionEntry<C>) => entry is E
54+
): Promise<E[]>;
55+
export function getCollection<C extends keyof AnyEntryMap>(
56+
collection: C,
57+
filter?: (entry: CollectionEntry<C>) => unknown
58+
): Promise<CollectionEntry<C>[]>;
59+
60+
export function getEntry<
61+
C extends keyof ContentEntryMap,
62+
E extends ValidContentEntrySlug<C> | (string & {}),
63+
>(entry: {
64+
collection: C;
65+
slug: E;
66+
}): E extends ValidContentEntrySlug<C>
67+
? Promise<CollectionEntry<C>>
68+
: Promise<CollectionEntry<C> | undefined>;
69+
export function getEntry<
70+
C extends keyof DataEntryMap,
71+
E extends keyof DataEntryMap[C] | (string & {}),
72+
>(entry: {
73+
collection: C;
74+
id: E;
75+
}): E extends keyof DataEntryMap[C]
76+
? Promise<DataEntryMap[C][E]>
77+
: Promise<CollectionEntry<C> | undefined>;
78+
export function getEntry<
79+
C extends keyof ContentEntryMap,
80+
E extends ValidContentEntrySlug<C> | (string & {}),
81+
>(
82+
collection: C,
83+
slug: E
84+
): E extends ValidContentEntrySlug<C>
85+
? Promise<CollectionEntry<C>>
86+
: Promise<CollectionEntry<C> | undefined>;
87+
export function getEntry<
88+
C extends keyof DataEntryMap,
89+
E extends keyof DataEntryMap[C] | (string & {}),
90+
>(
91+
collection: C,
92+
id: E
93+
): E extends keyof DataEntryMap[C]
94+
? Promise<DataEntryMap[C][E]>
95+
: Promise<CollectionEntry<C> | undefined>;
96+
97+
/** Resolve an array of entry references from the same collection */
98+
export function getEntries<C extends keyof ContentEntryMap>(
99+
entries: {
100+
collection: C;
101+
slug: ValidContentEntrySlug<C>;
102+
}[]
103+
): Promise<CollectionEntry<C>[]>;
104+
export function getEntries<C extends keyof DataEntryMap>(
105+
entries: {
106+
collection: C;
107+
id: keyof DataEntryMap[C];
108+
}[]
109+
): Promise<CollectionEntry<C>[]>;
110+
111+
export function reference<C extends keyof AnyEntryMap>(
112+
collection: C
113+
): import('astro/zod').ZodEffects<
114+
import('astro/zod').ZodString,
115+
C extends keyof ContentEntryMap
116+
? {
117+
collection: C;
118+
slug: ValidContentEntrySlug<C>;
119+
}
120+
: {
121+
collection: C;
122+
id: keyof DataEntryMap[C];
123+
}
124+
>;
125+
// Allow generic `string` to avoid excessive type errors in the config
126+
// if `dev` is not running to update as you edit.
127+
// Invalid collection names will be caught at build time.
128+
export function reference<C extends string>(
129+
collection: C
130+
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
131+
132+
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
133+
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
134+
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
135+
>;
136+
137+
type ContentEntryMap = {
138+
"blog": {
139+
"words-as-vectors.mdx": {
140+
id: "words-as-vectors.mdx";
141+
slug: "words-vectors-sparse-vectors-dense-vectors";
142+
body: string;
143+
collection: "blog";
144+
data: InferEntrySchema<"blog">
145+
} & { render(): Render[".mdx"] };
146+
};
147+
"events": {
148+
"hello-foss.md": {
149+
id: "hello-foss.md";
150+
slug: "hello-foss-2023";
151+
body: string;
152+
collection: "events";
153+
data: InferEntrySchema<"events">
154+
} & { render(): Render[".md"] };
155+
"oss24_workshop1.md": {
156+
id: "oss24_workshop1.md";
157+
slug: "oss24-devops-101-workshop";
158+
body: string;
159+
collection: "events";
160+
data: InferEntrySchema<"events">
161+
} & { render(): Render[".md"] };
162+
"oss24_workshop2.md": {
163+
id: "oss24_workshop2.md";
164+
slug: "oss24_workshop2";
165+
body: string;
166+
collection: "events";
167+
data: InferEntrySchema<"events">
168+
} & { render(): Render[".md"] };
169+
"oss24_workshop3.md": {
170+
id: "oss24_workshop3.md";
171+
slug: "oss24_workshop3";
172+
body: string;
173+
collection: "events";
174+
data: InferEntrySchema<"events">
175+
} & { render(): Render[".md"] };
176+
"oss24_workshop4.md": {
177+
id: "oss24_workshop4.md";
178+
slug: "oss24_workshop4";
179+
body: string;
180+
collection: "events";
181+
data: InferEntrySchema<"events">
182+
} & { render(): Render[".md"] };
183+
"oss24_workshop5.md": {
184+
id: "oss24_workshop5.md";
185+
slug: "oss24_workshop5";
186+
body: string;
187+
collection: "events";
188+
data: InferEntrySchema<"events">
189+
} & { render(): Render[".md"] };
190+
"oss24_workshop6.md": {
191+
id: "oss24_workshop6.md";
192+
slug: "oss24_workshop6";
193+
body: string;
194+
collection: "events";
195+
data: InferEntrySchema<"events">
196+
} & { render(): Render[".md"] };
197+
"streamline_git_worksflows.md": {
198+
id: "streamline_git_worksflows.md";
199+
slug: "streamline_git_worksflows";
200+
body: string;
201+
collection: "events";
202+
data: InferEntrySchema<"events">
203+
} & { render(): Render[".md"] };
204+
"webdev101.md": {
205+
id: "webdev101.md";
206+
slug: "webdev101";
207+
body: string;
208+
collection: "events";
209+
data: InferEntrySchema<"events">
210+
} & { render(): Render[".md"] };
211+
};
212+
"static": {
213+
"code-of-conduct.md": {
214+
id: "code-of-conduct.md";
215+
slug: "code-of-conduct";
216+
body: string;
217+
collection: "static";
218+
data: InferEntrySchema<"static">
219+
} & { render(): Render[".md"] };
220+
"sponsorship.md": {
221+
id: "sponsorship.md";
222+
slug: "sponsorship";
223+
body: string;
224+
collection: "static";
225+
data: InferEntrySchema<"static">
226+
} & { render(): Render[".md"] };
227+
};
228+
229+
};
230+
231+
type DataEntryMap = {
232+
233+
};
234+
235+
type AnyEntryMap = ContentEntryMap & DataEntryMap;
236+
237+
export type ContentConfig = typeof import("./../src/content/config.js");
238+
}

.github/workflows/deploy.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ jobs:
2424
runs-on: ubuntu-latest
2525
steps:
2626
- name: Checkout your repository using git
27-
uses: actions/checkout@v2
28-
- name: Install, build, and upload your site output
29-
uses: withastro/action@v0
27+
uses: actions/checkout@v4
28+
- name: Install, build, and upload your site
29+
uses: withastro/action@v2
3030
# with:
3131
# path: . # The root location of your Astro project inside the repository. (optional)
3232
# node-version: 16 # The specific version of Node that should be used to build your site. Defaults to 16. (optional)
@@ -41,4 +41,4 @@ jobs:
4141
steps:
4242
- name: Deploy to GitHub Pages
4343
id: deployment
44-
uses: actions/deploy-pages@v1
44+
uses: actions/deploy-pages@v4

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# build output
22
dist/
3+
.output/
34

45
# dependencies
56
node_modules/

.npmrc

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Expose Astro dependencies for `pnpm` users
2+
shamefully-hoist=true

.prettierignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
**/*.mdx
2+
**/generated/
3+
src/samples/
4+
**/snippet.*
5+
/dist
6+
/node_modules
7+
/public

LICENCE.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2022 Tailus
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+53-43
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,53 @@
1-
# [Astro](https://astro.build) GitHub Pages Template
2-
3-
## 🤖 Automatic Deployment to GitHub Pages
4-
5-
This minimal Astro project template comes with a [GitHub Action](https://github.com/features/actions) that automatically deploys your site to [GitHub Pages](https://pages.github.com/).
6-
7-
For more information, please see our complete deployment guide—[Deploy your Astro Site to GitHub Pages](https://docs.astro.build/en/guides/deploy/github/).
8-
9-
## 🚀 Project Structure
10-
11-
Inside of your Astro project, you'll see the following folders and files:
12-
13-
```
14-
/
15-
├── public/
16-
├── src/
17-
│ └── pages/
18-
│ └── index.astro
19-
└── package.json
20-
```
21-
22-
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
23-
24-
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
25-
26-
Any static assets, like images, can be placed in the `public/` directory.
27-
28-
## 🧞 Commands
29-
30-
All commands are run from the root of the project, from a terminal:
31-
32-
| Command | Action |
33-
| :--------------------- | :----------------------------------------------- |
34-
| `npm install` | Installs dependencies |
35-
| `npm run dev` | Starts local dev server at `localhost:3000` |
36-
| `npm run build` | Build your production site to `./dist/` |
37-
| `npm run preview` | Preview your build locally, before deploying |
38-
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
39-
| `npm run astro --help` | Get help using the Astro CLI |
40-
41-
## 👀 Want to learn more?
42-
43-
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
1+
# FOSS UOK Homepage
2+
3+
Welcome to the official repository for the FOSS UOK homepage! This repository contains the source code and assets for the FOSS UOK website. This repo uses [Astro](https://astro.build/), a modern static site generator for building faster websites.
4+
5+
## Table of Contents
6+
- [Introduction](#introduction)
7+
- [Features](#features)
8+
- [Installation](#installation)
9+
- [Contributing](#contributing)
10+
- [License](#license)
11+
12+
## Introduction
13+
The FOSS UOK homepage is a website that serves as the central hub for the FOSS UOK organization. It provides information about the organization, its projects, events, and community. The homepage is designed to be user-friendly, informative, and visually appealing.
14+
15+
## Features
16+
- **About Us:** Learn about the FOSS UOK organization, its mission, and its values.
17+
- **Events:** Stay up-to-date on upcoming events, workshops, and meetups organized by FOSS UOK.
18+
- **Blog:** Read articles, tutorials, and updates from FOSS UOK members and contributors.
19+
20+
## Installation
21+
To install the FOSS UOK homepage on your local machine, follow these steps:
22+
23+
1. Clone the repository:
24+
```bash
25+
git clone
26+
```
27+
2. Navigate to the project directory:
28+
```bash
29+
cd foss-uok-homepage
30+
```
31+
3. Install the dependencies:
32+
```bash
33+
npm install
34+
```
35+
4. Start the development server:
36+
```bash
37+
npm start
38+
```
39+
5. Open your browser and visit `http://localhost:4321` to view the homepage.
40+
41+
## Contributing
42+
If you would like to contribute to the FOSS UOK homepage, please follow these guidelines:
43+
44+
1. Fork the repository and create a new branch.
45+
2. Make your changes and test them locally.
46+
3. Commit your changes and push them to your fork.
47+
4. Submit a pull request with a detailed description of your changes.
48+
49+
## License
50+
The FOSS UOK homepage is open source and available under the [MIT License](LICENSE).
51+
52+
## Contact
53+
If you have any questions or feedback, please contact us at [[email protected]](mailto:[email protected])

0 commit comments

Comments
 (0)