Replace main content with feat/general
Some checks failed
Build and Deploy DAVE | DMGs Site / deploy (push) Failing after 1m41s

This commit is contained in:
2025-11-12 09:20:58 +01:00
128 changed files with 4402 additions and 3025 deletions

View File

@@ -2,7 +2,7 @@ name: Build and Deploy DAVE | DMGs Site
on:
push:
branches: [ main ]
branches: [main]
jobs:
deploy:
@@ -41,4 +41,4 @@ jobs:
mv src/app/\(cms\) src/app/_cms
pnpm run build
rm -rf /var/www/sites/dave-dmg/blog/*
cp -r out/* /var/www/sites/dave-dmg/blog/
cp -r out/* /var/www/sites/dave-dmg/blog/

View File

@@ -1,39 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="CssDeprecatedValue" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidAtRule" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidCharsetRule" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssInvalidCustomPropertyAtRuleDeclaration" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidCustomPropertyAtRuleName" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidFunction" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidHtmlTagReference" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssInvalidImport" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssInvalidMediaFeature" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssInvalidPropertyValue" enabled="false" level="WARNING" enabled_by_default="false" editorAttributes="WARNING_ATTRIBUTES" />
<inspection_tool class="CssInvalidPseudoSelector" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssMissingComma" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssNegativeValue" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssNoGenericFontName" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssNonIntegerLengthInPixels" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="CssOverwrittenProperties" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssRedundantUnit" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CssReplaceWithShorthandSafely" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="CssReplaceWithShorthandUnsafely" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="CssUnknownProperty" enabled="false" level="WARNING" enabled_by_default="false">
<option name="myCustomPropertiesEnabled" value="false" />
<option name="myIgnoreVendorSpecificProperties" value="false" />
<option name="myCustomPropertiesList">
<value>
<list size="0" />
</value>
</option>
</inspection_tool>
<inspection_tool class="CssUnknownTarget" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnknownUnit" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnresolvedClassInComposesRule" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnresolvedCustomProperty" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="CssUnusedSymbol" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="Stylelint" enabled="true" level="ERROR" enabled_by_default="true" />
</profile>

View File

@@ -1,22 +1,14 @@
import { config } from '@keystatic/core';
import NavSingleton from '@/keystatic/singletons/navigation';
import AuthorsCollection from '@/keystatic/collections/taxonomy/authors';
import TagsCollection from '@/keystatic/collections/taxonomy/tags';
import MetaPostsCollection from '@/keystatic/collections/meta/article';
import AWQColletions from '@/keystatic/collections/awq';
import awqCollections from '@/keystatic/collections/awq';
export default config({
storage: {
kind: 'local',
},
singletons: { navigation: NavSingleton },
collections: {
authors: AuthorsCollection,
tags: TagsCollection,
meta_posts: MetaPostsCollection,
...awqCollections,
},
});

View File

@@ -10,19 +10,18 @@
"format": "prettier --write ."
},
"dependencies": {
"@keystar/ui": "^0.7.19",
"@keystatic/core": "^0.5.48",
"@keystatic/next": "^5.0.4",
"@markdoc/markdoc": "^0.5.4",
"marked": "^16.3.0",
"@tailwindcss/postcss": "^4.1.13",
"next": "15.5.3",
"postcss": "^8.5.6",
"react": "19.1.0",
"react-dom": "19.1.0"
"react-dom": "19.1.0",
"tailwindcss": "^4.1.13"
},
"devDependencies": {
"@csstools/postcss-global-data": "^3.1.0",
"@eslint/eslintrc": "^3",
"@fullhuman/postcss-purgecss": "^7.0.2",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
@@ -32,20 +31,12 @@
"eslint-config-next": "15.5.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-mdx": "^3.6.2",
"glob-all": "^3.3.1",
"postcss": "^8.5.6",
"postcss-easings": "^4.0.0",
"postcss-functions": "^4.0.2",
"postcss-import": "^16.1.1",
"postcss-mixins": "^12.1.2",
"postcss-nesting": "^13.0.2",
"postcss-preset-env": "^10.3.1",
"postcss-utilities": "^0.8.4",
"prettier": "^3.6.2",
"stylelint": "^16.24.0",
"stylelint-config-clean-order": "^7.0.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-standard": "^39.0.0",
"stylelint-config-tailwindcss": "^1.0.0",
"typescript": "^5"
}
}

6895
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,54 +1,6 @@
// postcss.config.js
import { purgeCSSPlugin } from '@fullhuman/postcss-purgecss';
import glob from 'glob-all';
import path from 'path';
import postcssGlobalData from '@csstools/postcss-global-data';
import postcssEasing from 'postcss-easings';
import postcssImport from 'postcss-import';
import postcssMixins from 'postcss-mixins';
import postcssNesting from 'postcss-nesting';
import postcssPresetEnv from 'postcss-preset-env';
import postcssUtilities from 'postcss-utilities';
import postcssFunctions from 'postcss-functions';
import customFunctions from './src/lib/postcss/functions';
const plugins = [
postcssGlobalData({
files: ['./src/styles/globals/custom-media.css'],
}),
postcssMixins({
mixinsDir: './src/styles/mixins/',
}),
postcssImport(),
postcssPresetEnv({
stage: 1,
features: {
'nesting-rules': false,
'media-query-ranges': {
preserve: true,
},
},
}),
postcssEasing(),
postcssUtilities(),
postcssNesting(),
postcssFunctions({
functions: customFunctions,
}),
];
if (process.env.NODE_ENV === 'production') {
plugins.push(
purgeCSSPlugin({
content: glob.sync([
path.join(process.cwd(), 'src/**/*.{js,jsx,ts,tsx,css}'),
path.join(process.cwd(), 'content/**/*.{md,mdx}'),
]),
safelist: ['html', 'body'],
})
);
}
export default {
plugins,
const config = {
plugins: {
'@tailwindcss/postcss': {},
},
};
export default config;

View File

@@ -1,15 +1,5 @@
import { MenuProvider } from '@/contexts/MenuContext';
import PageHeader from '@/components/Page/Header';
import PageMenu from '@/components/Page/Menu';
export default function SiteLayout({
children,
}: Readonly<{ children: React.ReactNode }>) {
return (
<MenuProvider>
<PageHeader />
<PageMenu />
{children}
</MenuProvider>
);
return <main>{children}</main>;
}

View File

@@ -1,82 +0,0 @@
.wrapper {
@mixin responsive-wrapper;
& body {
margin: 0;
padding: 2rem;
font-family: monospace;
color: #1a1a1d;
background: #f7f9fb;
}
& h1 {
margin-bottom: 2rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.1em;
}
& .grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
margin-bottom: 3rem;
}
& .demoCard {
border: 3px solid #1a1a1d;
background: white;
}
& .demoTitle {
margin: 0;
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: bold;
color: white;
text-transform: uppercase;
letter-spacing: 0.05em;
background: #1a1a1d;
}
& .imageContainer {
cursor: pointer;
position: relative;
overflow: hidden;
width: 100%;
height: 200px;
}
& .demoImage {
width: 100%;
height: 100%;
object-fit: cover;
filter: grayscale(100) contrast(150) brightness(100);
transition: none;
}
& .instructions {
margin-top: 2rem;
padding: 1rem;
font-family: monospace;
color: white;
background: #1a1a1d;
}
& .instructions h2 {
margin-top: 0;
text-transform: uppercase;
letter-spacing: 0.1em;
}
}

View File

@@ -1,11 +1,7 @@
import styles from './page.module.css';
export default function Home() {
return (
<div className={styles.wrapper}>
<h1>
DAVE! DAVE! Do Not Let Us Die In The Dark Night Of This Cold Winter!
</h1>
<div className="text-3xl font-bold underline">
Do not let us die in the dark night of this cold winter, Dave
</div>
);
}

View File

@@ -1,6 +1 @@
@layer reset, tokens, base, layout, content, components, utilities, animations;
@import url("../styles/tokens.css");
@import url("../styles/globals/foundation.css");
@import url("../styles/globals/base.css");
@import url("../styles/globals/content.css");
@import 'tailwindcss';

View File

@@ -17,44 +17,42 @@ const blaka = Blaka({
const iosevkaSlab = localFont({
src: [
{
path: '../../public/fonts/IosevkaSlabQp/IosevkaSlabQp-Regular.woff2',
path: '../fonts/IosevkaSlabQp/IosevkaSlabQp-Regular.woff2',
weight: '400',
style: 'normal',
},
{
path: '../../public/fonts/IosevkaSlabQp/IosevkaSlabQp-Bold.woff2',
path: '../fonts/IosevkaSlabQp/IosevkaSlabQp-Bold.woff2',
weight: '700',
style: 'normal',
},
{
path: '../../public/fonts/IosevkaSlabQp/IosevkaSlabQp-Heavy.woff2',
path: '../fonts/IosevkaSlabQp/IosevkaSlabQp-Heavy.woff2',
weight: '900',
style: 'normal',
},
],
variable: '--font-iosevka-slab',
display: 'swap',
});
const iosevkaMono = localFont({
const iosevkaSans = localFont({
src: [
{
path: '../../public/fonts/IosevkaSansMono/IosevkaSansMono-Regular.woff2',
path: '../fonts/IosevkaSansMono/IosevkaSansMono-Regular.woff2',
weight: '400',
style: 'normal',
},
{
path: '../../public/fonts/IosevkaSansMono/IosevkaSansMono-Bold.woff2',
path: '../fonts/IosevkaSansMono/IosevkaSansMono-Bold.woff2',
weight: '700',
style: 'normal',
},
{
path: '../../public/fonts/IosevkaSansMono/IosevkaSansMono-Heavy.woff2',
path: '../fonts/IosevkaSansMono/IosevkaSansMono-Heavy.woff2',
weight: '900',
style: 'normal',
},
],
display: 'swap',
variable: '--font-iosevka-mono',
});
@@ -69,11 +67,12 @@ export default function RootLayout({
children: React.ReactNode;
}>) {
return (
<html
lang="en"
className={`${geistSans.variable} ${blaka.variable} ${iosevkaSlab.variable} ${iosevkaMono.variable}`}
>
<body>{children}</body>
<html lang="en">
<body
className={`${geistSans.variable} ${blaka.variable} ${iosevkaSlab.variable} ${iosevkaSlab.variable} antialiased`}
>
{children}
</body>
</html>
);
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More