first commit
This commit is contained in:
commit
5af43e867d
24 changed files with 4067 additions and 0 deletions
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
# Output
|
||||||
|
.output
|
||||||
|
.vercel
|
||||||
|
.netlify
|
||||||
|
.wrangler
|
||||||
|
/.svelte-kit
|
||||||
|
/build
|
||||||
|
|
||||||
|
# OS
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Env
|
||||||
|
.env
|
||||||
|
.env.*
|
||||||
|
!.env.example
|
||||||
|
!.env.test
|
||||||
|
|
||||||
|
# Vite
|
||||||
|
vite.config.js.timestamp-*
|
||||||
|
vite.config.ts.timestamp-*
|
||||||
1
.npmrc
Normal file
1
.npmrc
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
engine-strict=true
|
||||||
6
.prettierignore
Normal file
6
.prettierignore
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Package Managers
|
||||||
|
package-lock.json
|
||||||
|
pnpm-lock.yaml
|
||||||
|
yarn.lock
|
||||||
|
bun.lock
|
||||||
|
bun.lockb
|
||||||
15
.prettierrc
Normal file
15
.prettierrc
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"useTabs": true,
|
||||||
|
"singleQuote": true,
|
||||||
|
"trailingComma": "none",
|
||||||
|
"printWidth": 100,
|
||||||
|
"plugins": ["prettier-plugin-svelte"],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": "*.svelte",
|
||||||
|
"options": {
|
||||||
|
"parser": "svelte"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
38
README.md
Normal file
38
README.md
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
# sv
|
||||||
|
|
||||||
|
Everything you need to build a Svelte project, powered by [`sv`](https://github.com/sveltejs/cli).
|
||||||
|
|
||||||
|
## Creating a project
|
||||||
|
|
||||||
|
If you're seeing this, you've probably already done this step. Congrats!
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# create a new project in the current directory
|
||||||
|
npx sv create
|
||||||
|
|
||||||
|
# create a new project in my-app
|
||||||
|
npx sv create my-app
|
||||||
|
```
|
||||||
|
|
||||||
|
## Developing
|
||||||
|
|
||||||
|
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
# or start the server and open the app in a new browser tab
|
||||||
|
npm run dev -- --open
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
To create a production version of your app:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
You can preview the production build with `npm run preview`.
|
||||||
|
|
||||||
|
> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
|
||||||
37
eslint.config.js
Normal file
37
eslint.config.js
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
import prettier from 'eslint-config-prettier';
|
||||||
|
import js from '@eslint/js';
|
||||||
|
import { includeIgnoreFile } from '@eslint/compat';
|
||||||
|
import svelte from 'eslint-plugin-svelte';
|
||||||
|
import globals from 'globals';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
import ts from 'typescript-eslint';
|
||||||
|
import svelteConfig from './svelte.config.js';
|
||||||
|
|
||||||
|
const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
|
||||||
|
|
||||||
|
export default ts.config(
|
||||||
|
includeIgnoreFile(gitignorePath),
|
||||||
|
js.configs.recommended,
|
||||||
|
...ts.configs.recommended,
|
||||||
|
...svelte.configs.recommended,
|
||||||
|
prettier,
|
||||||
|
...svelte.configs.prettier,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
globals: { ...globals.browser, ...globals.node }
|
||||||
|
},
|
||||||
|
rules: { 'no-undef': 'off' }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
|
||||||
|
ignores: ['eslint.config.js', 'svelte.config.js'],
|
||||||
|
languageOptions: {
|
||||||
|
parserOptions: {
|
||||||
|
projectService: true,
|
||||||
|
extraFileExtensions: ['.svelte'],
|
||||||
|
parser: ts.parser,
|
||||||
|
svelteConfig
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
3392
package-lock.json
generated
Normal file
3392
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
35
package.json
Normal file
35
package.json
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
"name": "alliances",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.1",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "vite dev",
|
||||||
|
"build": "vite build",
|
||||||
|
"preview": "vite preview",
|
||||||
|
"prepare": "svelte-kit sync || echo ''",
|
||||||
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||||
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||||
|
"format": "prettier --write .",
|
||||||
|
"lint": "prettier --check . && eslint ."
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@eslint/compat": "^1.2.5",
|
||||||
|
"@eslint/js": "^9.18.0",
|
||||||
|
"@sveltejs/adapter-static": "^3.0.8",
|
||||||
|
"@sveltejs/kit": "^2.16.0",
|
||||||
|
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
||||||
|
"eslint": "^9.18.0",
|
||||||
|
"eslint-config-prettier": "^10.0.1",
|
||||||
|
"eslint-plugin-svelte": "^3.0.0",
|
||||||
|
"globals": "^16.0.0",
|
||||||
|
"mdsvex": "^0.12.3",
|
||||||
|
"prettier": "^3.4.2",
|
||||||
|
"prettier-plugin-svelte": "^3.3.3",
|
||||||
|
"svelte": "^5.0.0",
|
||||||
|
"svelte-check": "^4.0.0",
|
||||||
|
"typescript": "^5.0.0",
|
||||||
|
"typescript-eslint": "^8.20.0",
|
||||||
|
"vite": "^6.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
13
src/app.d.ts
vendored
Normal file
13
src/app.d.ts
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
// See https://svelte.dev/docs/kit/types#app.d.ts
|
||||||
|
// for information about these interfaces
|
||||||
|
declare global {
|
||||||
|
namespace App {
|
||||||
|
// interface Error {}
|
||||||
|
// interface Locals {}
|
||||||
|
// interface PageData {}
|
||||||
|
// interface PageState {}
|
||||||
|
// interface Platform {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export {};
|
||||||
12
src/app.html
Normal file
12
src/app.html
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
%sveltekit.head%
|
||||||
|
</head>
|
||||||
|
<body data-sveltekit-preload-data="hover">
|
||||||
|
<div style="display: contents">%sveltekit.body%</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
10
src/lib/components/Article.svelte
Normal file
10
src/lib/components/Article.svelte
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<script lang="ts">
|
||||||
|
let { document } = $props();
|
||||||
|
|
||||||
|
const metadata = document.metadata;
|
||||||
|
console.log(metadata);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<document.default />
|
||||||
|
</article>
|
||||||
37
src/lib/content/events/event1.md
Normal file
37
src/lib/content/events/event1.md
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
date: 2025/03/20
|
||||||
|
start: 4:30pm
|
||||||
|
end: 6pm
|
||||||
|
---
|
||||||
|
|
||||||
|
# Territoires & spoliation
|
||||||
|
|
||||||
|
agency est la plus récente collaboration du duo parent-enfant tīná gúyáńí, composé de Glenna Cardinal et de seth cardinal dodginghorse. Elle retrace l’histoire de la perte de leur maison ancestrale, située dans la nation tsuut’ina, suite à une entente de transfert de terres au profit de la construction de la Southwest Calgary Ring Road. Cette éviction forcée sert de trame de fond pour explorer le déracinement et la revendication par le biais de la guérison.
|
||||||
|
|
||||||
|
En ayant recours au cinéma, à la musique et à l’art visuel, la paire d’artistes critiquent les institutions coloniales qui continuent de détruire les maisons matrilinéaires et de diviser les familles et les communautés. À travers un hommage touchant à leur terre/maison et à leur parenté, cette exposition envisage une nouvelle forme d’agentivité; une qui soit autodéterminée, non-coloniale et non-patriarcale.
|
||||||
|
|
||||||
|
|
||||||
|
🌍 Alliances Transcoloniales – Événement #1 : Spoliation
|
||||||
|
|
||||||
|
📅 Jeudi 20 mars 2025 | 16h30 – 18h
|
||||||
|
|
||||||
|
📍 MAI – Montréal, arts interculturels
|
||||||
|
|
||||||
|
📌 3680, rue Jeanne-Mance, Montréal H2X 2K5
|
||||||
|
|
||||||
|
🍻 Suivi d’un verre dans un bar coop 🤍
|
||||||
|
|
||||||
|
👉 Visite guidée de l’expo Agency
|
||||||
|
|
||||||
|
✨ Par le duo Tsuut’ina tīná gúyáńí : une réflexion puissante sur le déracinement, la perte de territoire et la guérison face au colonialisme.
|
||||||
|
|
||||||
|
👉 Atelier anthropologique participatif sur frontières, expropriations, luttes territoriales.
|
||||||
|
|
||||||
|
🎤 Avec :
|
||||||
|
Marguerite Chiarello (MAI)
|
||||||
|
Zaccharie Atgé (Anthropo)
|
||||||
|
Anna Houdebine & Aziz Boughedir (Alliances Transcoloniales)
|
||||||
|
|
||||||
|
💬 Étudiant·es en anthropo et histoire de l’art : vous êtes les bienvenu·es !
|
||||||
|
📎 Infos : https://m-a-i.qc.ca/evenement/agency/
|
||||||
|
📲 Insta : @alliances_transcoloniales_udem
|
||||||
28
src/lib/content/events/event2.md
Normal file
28
src/lib/content/events/event2.md
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
---
|
||||||
|
date: 2025/03/20
|
||||||
|
start: 4:30pm
|
||||||
|
end: 6pm
|
||||||
|
---
|
||||||
|
|
||||||
|
# Spoliation
|
||||||
|
|
||||||
|
agency est la plus récente collaboration du duo parent-enfant tīná gúyáńí, composé de Glenna Cardinal et de seth cardinal dodginghorse. Elle retrace l’histoire de la perte de leur maison ancestrale, située dans la nation tsuut’ina, suite à une entente de transfert de terres au profit de la construction de la Southwest Calgary Ring Road. Cette éviction forcée sert de trame de fond pour explorer le déracinement et la revendication par le biais de la guérison.
|
||||||
|
|
||||||
|
En ayant recours au cinéma, à la musique et à l’art visuel, la paire d’artistes critiquent les institutions coloniales qui continuent de détruire les maisons matrilinéaires et de diviser les familles et les communautés. À travers un hommage touchant à leur terre/maison et à leur parenté, cette exposition envisage une nouvelle forme d’agentivité; une qui soit autodéterminée, non-coloniale et non-patriarcale.
|
||||||
|
|
||||||
|
|
||||||
|
🌍 Alliances Transcoloniales – Événement #1 : Spoliation
|
||||||
|
📅 Jeudi 20 mars 2025 | 16h30 – 18h
|
||||||
|
📍 MAI – Montréal, arts interculturels
|
||||||
|
📌 3680, rue Jeanne-Mance, Montréal H2X 2K5
|
||||||
|
🍻 Suivi d’un verre dans un bar coop 🤍
|
||||||
|
👉 Visite guidée de l’expo Agency
|
||||||
|
✨ Par le duo Tsuut’ina tīná gúyáńí : une réflexion puissante sur le déracinement, la perte de territoire et la guérison face au colonialisme.
|
||||||
|
👉 Atelier anthropologique participatif sur frontières, expropriations, luttes territoriales.
|
||||||
|
🎤 Avec :
|
||||||
|
Marguerite Chiarello (MAI)
|
||||||
|
Zaccharie Atgé (Anthropo)
|
||||||
|
Anna Houdebine & Aziz Boughedir (Alliances Transcoloniales)
|
||||||
|
💬 Étudiant·es en anthropo et histoire de l’art : vous êtes les bienvenu·es !
|
||||||
|
📎 Infos : https://m-a-i.qc.ca/evenement/agency/
|
||||||
|
📲 Insta : @alliances_transcoloniales_udem
|
||||||
1
src/lib/index.ts
Normal file
1
src/lib/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
// place files you want to import through the `$lib` alias in this folder.
|
||||||
109
src/lib/styles/fluid.css
Normal file
109
src/lib/styles/fluid.css
Normal file
|
|
@ -0,0 +1,109 @@
|
||||||
|
body,
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
p,
|
||||||
|
li,
|
||||||
|
.fluid,
|
||||||
|
textarea,
|
||||||
|
input,
|
||||||
|
select,
|
||||||
|
button,
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
--fl: 0;
|
||||||
|
--font-size-min: 14;
|
||||||
|
--font-size-max: 20;
|
||||||
|
--font-ratio-min: 1.25;
|
||||||
|
--font-ratio-max: 1.3333333333333333;
|
||||||
|
--font-width-min: 320;
|
||||||
|
--font-width-max: 1500;
|
||||||
|
--fluid-min: calc(var(--font-size-min) * pow(var(--font-ratio-min), var(--fl, 0)));
|
||||||
|
--fluid-max: calc(var(--font-size-max) * pow(var(--font-ratio-max), var(--fl, 0)));
|
||||||
|
--fluid-preferred: calc((var(--fluid-max) - var(--fluid-min)) / (var(--font-width-max) - var(--font-width-min)));
|
||||||
|
--fluid-type: clamp((var(--fluid-min) / 16) * 1rem,
|
||||||
|
((var(--fluid-min) / 16) * 1rem) - (((var(--fluid-preferred) * var(--font-width-min)) / 16) * 1rem) + (var(--fluid-preferred) * var(--variable-unit, 100vi)),
|
||||||
|
(var(--fluid-max) / 16) * 1rem);
|
||||||
|
font-size: var(--fluid-type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* This makes containers, with container queries use a cqi unit instead of vi */
|
||||||
|
.fluid-text-container {
|
||||||
|
container-type: inline-size;
|
||||||
|
--variable-unit: 100cqi;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,
|
||||||
|
.h1 {
|
||||||
|
--fl: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2,
|
||||||
|
.h2 {
|
||||||
|
--fl: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3,
|
||||||
|
.h3 {
|
||||||
|
--fl: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
h4,
|
||||||
|
.h4 {
|
||||||
|
--fl: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
h5,
|
||||||
|
.h5 {
|
||||||
|
--fl: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
h6,
|
||||||
|
.h6 {
|
||||||
|
--fl: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
p,
|
||||||
|
li,
|
||||||
|
body {
|
||||||
|
--fl: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-xs {
|
||||||
|
--fl: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-base {
|
||||||
|
--fl: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-s {
|
||||||
|
--fl: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-m {
|
||||||
|
--fl: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-l {
|
||||||
|
--fl: 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-xl {
|
||||||
|
--fl: 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-xxl {
|
||||||
|
--fl: 5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-xxxl {
|
||||||
|
--fl: 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fs-xxxxl {
|
||||||
|
--fl: 7;
|
||||||
|
}
|
||||||
135
src/lib/styles/reset.css
Normal file
135
src/lib/styles/reset.css
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
/* http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
v2.0 | 20110126
|
||||||
|
License: none (public domain)
|
||||||
|
*/
|
||||||
|
|
||||||
|
html,
|
||||||
|
body,
|
||||||
|
div,
|
||||||
|
span,
|
||||||
|
applet,
|
||||||
|
object,
|
||||||
|
iframe,
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
p,
|
||||||
|
blockquote,
|
||||||
|
pre,
|
||||||
|
a,
|
||||||
|
abbr,
|
||||||
|
acronym,
|
||||||
|
address,
|
||||||
|
big,
|
||||||
|
cite,
|
||||||
|
code,
|
||||||
|
del,
|
||||||
|
dfn,
|
||||||
|
em,
|
||||||
|
img,
|
||||||
|
ins,
|
||||||
|
kbd,
|
||||||
|
q,
|
||||||
|
s,
|
||||||
|
samp,
|
||||||
|
small,
|
||||||
|
strike,
|
||||||
|
strong,
|
||||||
|
sub,
|
||||||
|
sup,
|
||||||
|
tt,
|
||||||
|
var,
|
||||||
|
b,
|
||||||
|
u,
|
||||||
|
i,
|
||||||
|
center,
|
||||||
|
dl,
|
||||||
|
dt,
|
||||||
|
dd,
|
||||||
|
ol,
|
||||||
|
ul,
|
||||||
|
li,
|
||||||
|
fieldset,
|
||||||
|
form,
|
||||||
|
label,
|
||||||
|
legend,
|
||||||
|
table,
|
||||||
|
caption,
|
||||||
|
tbody,
|
||||||
|
tfoot,
|
||||||
|
thead,
|
||||||
|
tr,
|
||||||
|
th,
|
||||||
|
td,
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
canvas,
|
||||||
|
details,
|
||||||
|
embed,
|
||||||
|
figure,
|
||||||
|
figcaption,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
menu,
|
||||||
|
nav,
|
||||||
|
output,
|
||||||
|
ruby,
|
||||||
|
section,
|
||||||
|
summary,
|
||||||
|
time,
|
||||||
|
mark,
|
||||||
|
audio,
|
||||||
|
video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* HTML5 display-role reset for older browsers */
|
||||||
|
article,
|
||||||
|
aside,
|
||||||
|
details,
|
||||||
|
figcaption,
|
||||||
|
figure,
|
||||||
|
footer,
|
||||||
|
header,
|
||||||
|
hgroup,
|
||||||
|
menu,
|
||||||
|
nav,
|
||||||
|
section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol,
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote,
|
||||||
|
q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote:before,
|
||||||
|
blockquote:after,
|
||||||
|
q:before,
|
||||||
|
q:after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
99
src/lib/styles/styles.css
Normal file
99
src/lib/styles/styles.css
Normal file
|
|
@ -0,0 +1,99 @@
|
||||||
|
@import 'reset.css';
|
||||||
|
/* @import 'fluid.css'; */
|
||||||
|
@import url('https://fonts.googleapis.com/css2?family=Inclusive+Sans:ital,wght@0,300..700;1,300..700&display=swap');
|
||||||
|
|
||||||
|
html {
|
||||||
|
--bg-color: rgb(20, 153, 84);
|
||||||
|
|
||||||
|
font-family: "Inclusive Sans", sans-serif;
|
||||||
|
color: white;
|
||||||
|
text-transform: lowercase;
|
||||||
|
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
background-color: var(--bg-color);
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
header {
|
||||||
|
position: fixed;
|
||||||
|
height: max-content;
|
||||||
|
bottom: 0;
|
||||||
|
|
||||||
|
padding-left: 2rem;
|
||||||
|
|
||||||
|
&>* {}
|
||||||
|
|
||||||
|
& h1 {
|
||||||
|
font-weight: 500;
|
||||||
|
border-top: solid 1px white;
|
||||||
|
font-size: 10rem;
|
||||||
|
background-color: var(--bg-color);
|
||||||
|
letter-spacing: 0.6rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav {
|
||||||
|
& ul {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
& a {
|
||||||
|
color: white;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: 400;
|
||||||
|
letter-spacing: 0.15rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
section {
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
/* max-width: 68ch; */
|
||||||
|
padding: 1rem 2rem 42vh 0;
|
||||||
|
z-index: -1;
|
||||||
|
|
||||||
|
& h2 {
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
article h1 {
|
||||||
|
font-size: 5rem;
|
||||||
|
font-style: italic;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
content: '#'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
article+article {
|
||||||
|
margin-top: 6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
article p {
|
||||||
|
font-size: 1.1rem;
|
||||||
|
line-height: 1.3rem;
|
||||||
|
/* font-weight: 400; */
|
||||||
|
|
||||||
|
&+p {
|
||||||
|
margin-top: 0.8rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
src/routes/+page.svelte
Normal file
27
src/routes/+page.svelte
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
<script lang="ts">
|
||||||
|
import '$lib/styles/styles.css';
|
||||||
|
import Article from '$lib/components/Article.svelte';
|
||||||
|
let { data } = $props();
|
||||||
|
|
||||||
|
$inspect(data.documents);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#events">Événements</a></li>
|
||||||
|
<li><a href="#archives">Archives</a></li>
|
||||||
|
<li><a href="#">Déclaration de principes</a></li>
|
||||||
|
<li><a href="#">bibliographie sélective</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
<h1>Alliances Transcoloniales</h1>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<h2 id="events">Événements</h2>
|
||||||
|
{#each data.documents as d}
|
||||||
|
<Article document={d} />
|
||||||
|
{/each}
|
||||||
|
<h2 id="archives">Archives</h2>
|
||||||
|
</section>
|
||||||
6
src/routes/+page.ts
Normal file
6
src/routes/+page.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
export const load = async () => {
|
||||||
|
const documents = import.meta.glob('$lib/content/events/*.md', { eager: true })
|
||||||
|
return {
|
||||||
|
documents: Object.values(documents)
|
||||||
|
}
|
||||||
|
}
|
||||||
7
src/routes/layout.svelte
Normal file
7
src/routes/layout.svelte
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
<script lang="ts">
|
||||||
|
let { children } = $props();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
{@render children()}
|
||||||
|
</div>
|
||||||
BIN
static/favicon.png
Normal file
BIN
static/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
11
svelte.config.js
Normal file
11
svelte.config.js
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
import { mdsvex } from 'mdsvex';
|
||||||
|
import adapter from '@sveltejs/adapter-static';
|
||||||
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||||
|
|
||||||
|
const config = {
|
||||||
|
preprocess: [vitePreprocess(), mdsvex({ extensions: ['.svx', '.md'] })],
|
||||||
|
kit: { adapter: adapter() },
|
||||||
|
extensions: ['.svelte', '.svx', '.md']
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
||||||
19
tsconfig.json
Normal file
19
tsconfig.json
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"extends": "./.svelte-kit/tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"allowJs": true,
|
||||||
|
"checkJs": true,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"resolveJsonModule": true,
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"sourceMap": true,
|
||||||
|
"strict": true,
|
||||||
|
"moduleResolution": "bundler"
|
||||||
|
}
|
||||||
|
// Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias
|
||||||
|
// except $lib which is handled by https://svelte.dev/docs/kit/configuration#files
|
||||||
|
//
|
||||||
|
// If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
|
||||||
|
// from the referenced tsconfig.json - TypeScript does not merge them in
|
||||||
|
}
|
||||||
6
vite.config.ts
Normal file
6
vite.config.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
import { sveltekit } from '@sveltejs/kit/vite';
|
||||||
|
import { defineConfig } from 'vite';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [sveltekit()]
|
||||||
|
});
|
||||||
Loading…
Add table
Add a link
Reference in a new issue