Skip to content

Commit 53144ba

Browse files
committed
added workflow to deploy github pages
1 parent 159e513 commit 53144ba

File tree

5 files changed

+48
-186
lines changed

5 files changed

+48
-186
lines changed

.astro/content.d.ts

Lines changed: 0 additions & 184 deletions
Original file line numberDiff line numberDiff line change
@@ -1,184 +0,0 @@
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-
components: import('astro').MDXInstance<{}>['components'];
8-
}>;
9-
}
10-
}
11-
12-
declare module 'astro:content' {
13-
export interface RenderResult {
14-
Content: import('astro/runtime/server/index.js').AstroComponentFactory;
15-
headings: import('astro').MarkdownHeading[];
16-
remarkPluginFrontmatter: Record<string, any>;
17-
}
18-
interface Render {
19-
'.md': Promise<RenderResult>;
20-
}
21-
22-
export interface RenderedContent {
23-
html: string;
24-
metadata?: {
25-
imagePaths: Array<string>;
26-
[key: string]: unknown;
27-
};
28-
}
29-
}
30-
31-
declare module 'astro:content' {
32-
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
33-
34-
export type CollectionKey = keyof AnyEntryMap;
35-
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
36-
37-
export type ContentCollectionKey = keyof ContentEntryMap;
38-
export type DataCollectionKey = keyof DataEntryMap;
39-
40-
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
41-
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
42-
ContentEntryMap[C]
43-
>['slug'];
44-
45-
/** @deprecated Use `getEntry` instead. */
46-
export function getEntryBySlug<
47-
C extends keyof ContentEntryMap,
48-
E extends ValidContentEntrySlug<C> | (string & {}),
49-
>(
50-
collection: C,
51-
// Note that this has to accept a regular string too, for SSR
52-
entrySlug: E,
53-
): E extends ValidContentEntrySlug<C>
54-
? Promise<CollectionEntry<C>>
55-
: Promise<CollectionEntry<C> | undefined>;
56-
57-
/** @deprecated Use `getEntry` instead. */
58-
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
59-
collection: C,
60-
entryId: E,
61-
): Promise<CollectionEntry<C>>;
62-
63-
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
64-
collection: C,
65-
filter?: (entry: CollectionEntry<C>) => entry is E,
66-
): Promise<E[]>;
67-
export function getCollection<C extends keyof AnyEntryMap>(
68-
collection: C,
69-
filter?: (entry: CollectionEntry<C>) => unknown,
70-
): Promise<CollectionEntry<C>[]>;
71-
72-
export function getEntry<
73-
C extends keyof ContentEntryMap,
74-
E extends ValidContentEntrySlug<C> | (string & {}),
75-
>(entry: {
76-
collection: C;
77-
slug: E;
78-
}): E extends ValidContentEntrySlug<C>
79-
? Promise<CollectionEntry<C>>
80-
: Promise<CollectionEntry<C> | undefined>;
81-
export function getEntry<
82-
C extends keyof DataEntryMap,
83-
E extends keyof DataEntryMap[C] | (string & {}),
84-
>(entry: {
85-
collection: C;
86-
id: E;
87-
}): E extends keyof DataEntryMap[C]
88-
? Promise<DataEntryMap[C][E]>
89-
: Promise<CollectionEntry<C> | undefined>;
90-
export function getEntry<
91-
C extends keyof ContentEntryMap,
92-
E extends ValidContentEntrySlug<C> | (string & {}),
93-
>(
94-
collection: C,
95-
slug: E,
96-
): E extends ValidContentEntrySlug<C>
97-
? Promise<CollectionEntry<C>>
98-
: Promise<CollectionEntry<C> | undefined>;
99-
export function getEntry<
100-
C extends keyof DataEntryMap,
101-
E extends keyof DataEntryMap[C] | (string & {}),
102-
>(
103-
collection: C,
104-
id: E,
105-
): E extends keyof DataEntryMap[C]
106-
? string extends keyof DataEntryMap[C]
107-
? Promise<DataEntryMap[C][E]> | undefined
108-
: Promise<DataEntryMap[C][E]>
109-
: Promise<CollectionEntry<C> | undefined>;
110-
111-
/** Resolve an array of entry references from the same collection */
112-
export function getEntries<C extends keyof ContentEntryMap>(
113-
entries: {
114-
collection: C;
115-
slug: ValidContentEntrySlug<C>;
116-
}[],
117-
): Promise<CollectionEntry<C>[]>;
118-
export function getEntries<C extends keyof DataEntryMap>(
119-
entries: {
120-
collection: C;
121-
id: keyof DataEntryMap[C];
122-
}[],
123-
): Promise<CollectionEntry<C>[]>;
124-
125-
export function render<C extends keyof AnyEntryMap>(
126-
entry: AnyEntryMap[C][string],
127-
): Promise<RenderResult>;
128-
129-
export function reference<C extends keyof AnyEntryMap>(
130-
collection: C,
131-
): import('astro/zod').ZodEffects<
132-
import('astro/zod').ZodString,
133-
C extends keyof ContentEntryMap
134-
? {
135-
collection: C;
136-
slug: ValidContentEntrySlug<C>;
137-
}
138-
: {
139-
collection: C;
140-
id: keyof DataEntryMap[C];
141-
}
142-
>;
143-
// Allow generic `string` to avoid excessive type errors in the config
144-
// if `dev` is not running to update as you edit.
145-
// Invalid collection names will be caught at build time.
146-
export function reference<C extends string>(
147-
collection: C,
148-
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
149-
150-
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
151-
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
152-
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
153-
>;
154-
155-
type ContentEntryMap = {
156-
157-
};
158-
159-
type DataEntryMap = {
160-
"articles": Record<string, {
161-
id: string;
162-
body?: string;
163-
collection: "articles";
164-
data: InferEntrySchema<"articles">;
165-
rendered?: RenderedContent;
166-
filePath?: string;
167-
}>;
168-
"blog": Record<string, {
169-
id: string;
170-
render(): Render[".md"];
171-
slug: string;
172-
body: string;
173-
collection: "blog";
174-
data: InferEntrySchema<"blog">;
175-
rendered?: RenderedContent;
176-
filePath?: string;
177-
}>;
178-
179-
};
180-
181-
type AnyEntryMap = ContentEntryMap & DataEntryMap;
182-
183-
export type ContentConfig = typeof import("../src/content.config.js");
184-
}

.github/workflows/deploy.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# .github/workflows/deploy.yml
2+
name: Deploy to GitHub Pages
3+
4+
on:
5+
push:
6+
branches: [ main ]
7+
workflow_dispatch:
8+
9+
permissions:
10+
contents: read
11+
pages: write
12+
id-token: write
13+
14+
concurrency:
15+
group: "pages"
16+
cancel-in-progress: false
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Pages
26+
uses: actions/configure-pages@v4
27+
28+
- name: Build with Astro
29+
uses: withastro/action@v2
30+
with:
31+
path: .
32+
node-version: 18
33+
package-manager: npm
34+
35+
deploy:
36+
environment:
37+
name: github-pages
38+
url: ${{ steps.deployment.outputs.page_url }}
39+
runs-on: ubuntu-latest
40+
needs: build
41+
steps:
42+
- name: Deploy to GitHub Pages
43+
id: deployment
44+
uses: actions/deploy-pages@v4

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
www.recursivezero.com

astro.config.mjs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import mdx from "@astrojs/mdx";
22
import react from "@astrojs/react";
33
import tailwind from "@astrojs/tailwind";
4-
//import awsAmplify from "astro-aws-amplify";
54
import { defineConfig, passthroughImageService } from "astro/config";
65

76
// https://astro.build/config

domain.code-workspace

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,9 @@
169169
"*.log": "default"
170170
},
171171
"zenMode.centerLayout": false,
172-
"cSpell.words": [],
172+
"cSpell.words": [
173+
"withastro"
174+
],
173175
"workbench.editor.limit.excludeDirty": true,
174176
"workbench.colorCustomizations": {
175177
"activityBar.activeBackground": "#040043",

0 commit comments

Comments
 (0)