All the astro deployments for demo's and main website have been relocated to their own repo's due to to many different projects trying to deploy at a time was causing to many issues.
Also removed sharp dep from brutal theme as its unneeded now
This commit is contained in:
parent
a788e9dd7b
commit
ea3e6aba6d
|
@ -5,8 +5,11 @@ Want to Chat? Join our [Discord](https://discord.gg/u7NZqUyeAR)
|
||||||
For a full always up to date documentation please checkout [Our Website](https://astro-ghostcms.xyz)
|
For a full always up to date documentation please checkout [Our Website](https://astro-ghostcms.xyz)
|
||||||
|
|
||||||
- [Default Theme Demo](https://demo.astro-ghostcms.xyz)
|
- [Default Theme Demo](https://demo.astro-ghostcms.xyz)
|
||||||
- [Catppuccin Dark Demo](https://catppuccindark-demo.astro-ghostcms.xyz/)
|
- [Github Repo](https://github.com/MatthiesenXYZ/demo-astroghostcms-themedefault)
|
||||||
|
- [Catppuccin Demo](https://catppuccindark-demo.astro-ghostcms.xyz/)
|
||||||
|
- [Github Repo](https://github.com/MatthiesenXYZ/demo-astroghostcms-catppuccin)
|
||||||
- [Brutal by Elian Demo](https://brutal-demo.astro-ghostcms.xyz)
|
- [Brutal by Elian Demo](https://brutal-demo.astro-ghostcms.xyz)
|
||||||
|
- [Github Repo](https://github.com/MatthiesenXYZ/demo-astroghostcms-brutalbyelian)
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
@ -25,8 +28,6 @@ This repo is structured as a `pnpm` monorepo. All of our packages can be found
|
||||||
|
|
||||||
In this Repo you will find the Following:
|
In this Repo you will find the Following:
|
||||||
|
|
||||||
- `demo`: [Main Demo Site](https://demo.astro-ghostcms.xyz)
|
|
||||||
- `www`: [Main Public Site](https://astro-ghostcms.xyz)
|
|
||||||
- `playground`: Development and Testing
|
- `playground`: Development and Testing
|
||||||
- `packages/`:
|
- `packages/`:
|
||||||
- `create-astro-ghostcms`: CLI Utility to quickly deploy new Astro-GhostCMS projects.
|
- `create-astro-ghostcms`: CLI Utility to quickly deploy new Astro-GhostCMS projects.
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48
|
|
||||||
CONTENT_API_URL=https://ghostdemo.matthiesen.xyz
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"recommendations": ["astro-build.astro-vscode"],
|
|
||||||
"unwantedRecommendations": []
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"command": "./node_modules/.bin/astro dev",
|
|
||||||
"name": "Development server",
|
|
||||||
"request": "launch",
|
|
||||||
"type": "node-terminal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2024 Matthiesen XYZ
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Astro-GhostCMS Demo Template
|
|
||||||
|
|
||||||
[Demo](https://catppuccindark-demo.astro-ghostcms.xyz/)
|
|
||||||
|
|
||||||
This Repo is a Demo Website for the [@matthiesenxyz/astro-ghostcms](https://github.com/MatthiesenXYZ/astro-ghostcms) integraion.
|
|
||||||
|
|
||||||
|
|
||||||
### For more information Check our website
|
|
||||||
|
|
||||||
[Astro-GhostCMS.xyz](https://astro-ghostcms.xyz)
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
import { defineConfig } from "astro/config";
|
|
||||||
import ghostcms from "@matthiesenxyz/astro-ghostcms";
|
|
||||||
import tailwind from "@astrojs/tailwind";
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://catppuccindark-demo.astro-ghostcms.xyz/",
|
|
||||||
integrations: [tailwind(),
|
|
||||||
ghostcms({
|
|
||||||
theme: "@matthiesenxyz/astro-ghostcms-catppuccin",
|
|
||||||
ghostURL: "https://ghostdemo.matthiesen.xyz",
|
|
||||||
})
|
|
||||||
],
|
|
||||||
});
|
|
|
@ -1,23 +0,0 @@
|
||||||
{
|
|
||||||
"name": "catppuccin-dark-demo",
|
|
||||||
"type": "module",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"scripts": {
|
|
||||||
"dev": "astro dev",
|
|
||||||
"start": "astro dev",
|
|
||||||
"build": "astro check && astro build",
|
|
||||||
"preview": "astro preview",
|
|
||||||
"astro": "astro"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"astro": "^4.3.2",
|
|
||||||
"@matthiesenxyz/astro-ghostcms": "^3.2.0",
|
|
||||||
"@matthiesenxyz/astro-ghostcms-catppuccin": "0.0.3",
|
|
||||||
"@astrojs/tailwind": "^5.1.0",
|
|
||||||
"tailwindcss": "^3.3.5"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@astrojs/check": "^0.4.1",
|
|
||||||
"typescript": "^5.3.3"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
|
|
||||||
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
|
|
||||||
<style>
|
|
||||||
path { fill: #000; }
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
path { fill: #FFF; }
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 749 B |
|
@ -1,9 +0,0 @@
|
||||||
/// <reference types="astro/client" />
|
|
||||||
interface ImportMetaEnv {
|
|
||||||
readonly CONTENT_API_KEY: string
|
|
||||||
readonly CONTENT_API_URL: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ImportMeta {
|
|
||||||
readonly env: ImportMetaEnv;
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
/** @type {import('tailwindcss').Config} */
|
|
||||||
module.exports = {
|
|
||||||
presets: [require('@matthiesenxyz/astro-ghostcms-catppuccin/macchiato')]
|
|
||||||
};
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "astro/tsconfigs/strict",
|
|
||||||
"exclude": ["dist"]
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48
|
|
||||||
CONTENT_API_URL=https://ghostdemo.matthiesen.xyz
|
|
|
@ -1,2 +0,0 @@
|
||||||
CONTENT_API_KEY=a33da3965a3a9fb2c6b3f63b48
|
|
||||||
CONTENT_API_URL=https://ghostdemo.matthiesen.xyz
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"recommendations": ["astro-build.astro-vscode"],
|
|
||||||
"unwantedRecommendations": []
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
"version": "0.2.0",
|
|
||||||
"configurations": [
|
|
||||||
{
|
|
||||||
"command": "./node_modules/.bin/astro dev",
|
|
||||||
"name": "Development server",
|
|
||||||
"request": "launch",
|
|
||||||
"type": "node-terminal"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
21
demo/LICENSE
21
demo/LICENSE
|
@ -1,21 +0,0 @@
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2024 Matthiesen XYZ
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
|
@ -1,13 +0,0 @@
|
||||||
# Astro-GhostCMS Demo Template
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
This Repo is a Demo Website for the [@matthiesenxyz/astro-ghostcms](https://github.com/MatthiesenXYZ/astro-ghostcms) integraion.
|
|
||||||
|
|
||||||
- For a live preview goto [Demo.Astro-GhostCMS.xyz](https://demo.astro-ghostcms.xyz)
|
|
||||||
- To see the Current Lighthouse test that is ran every deployment goto [Test.Demo.Astro-GhostCMS.xyz](https://test.demo.astro-ghostcms.xyz)
|
|
||||||
|
|
||||||
### For more information Check our website
|
|
||||||
|
|
||||||
[Astro-GhostCMS.xyz](https://astro-ghostcms.xyz)
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
import { defineConfig } from 'astro/config';
|
|
||||||
import GhostCMS from "@matthiesenxyz/astro-ghostcms";
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://demo.astro-ghostcms.xyz/",
|
|
||||||
integrations: [GhostCMS({
|
|
||||||
ghostURL: 'https://ghostdemo.matthiesen.xyz'
|
|
||||||
})]
|
|
||||||
});
|
|
|
@ -1,21 +0,0 @@
|
||||||
{
|
|
||||||
"name": "demo",
|
|
||||||
"type": "module",
|
|
||||||
"version": "0.0.2",
|
|
||||||
"scripts": {
|
|
||||||
"dev": "astro dev",
|
|
||||||
"start": "astro dev",
|
|
||||||
"build": "astro check && astro build",
|
|
||||||
"preview": "astro preview",
|
|
||||||
"astro": "astro"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"astro": "^4.3.2",
|
|
||||||
"@matthiesenxyz/astro-ghostcms": "3.2.1",
|
|
||||||
"@matthiesenxyz/astro-ghostcms-theme-default": "0.1.8"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@astrojs/check": "^0.4.1",
|
|
||||||
"typescript": "^5.3.3"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
|
|
||||||
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
|
|
||||||
<style>
|
|
||||||
path { fill: #000; }
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
path { fill: #FFF; }
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 749 B |
|
@ -1,9 +0,0 @@
|
||||||
/// <reference types="astro/client" />
|
|
||||||
interface ImportMetaEnv {
|
|
||||||
readonly CONTENT_API_KEY: string
|
|
||||||
readonly CONTENT_API_URL: string
|
|
||||||
}
|
|
||||||
|
|
||||||
interface ImportMeta {
|
|
||||||
readonly env: ImportMetaEnv;
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "astro/tsconfigs/strict"
|
|
||||||
}
|
|
|
@ -9,9 +9,6 @@
|
||||||
"lint": "biome check .",
|
"lint": "biome check .",
|
||||||
"lint:fix": "biome check --apply .",
|
"lint:fix": "biome check --apply .",
|
||||||
"playground:dev": "pnpm --filter playground dev",
|
"playground:dev": "pnpm --filter playground dev",
|
||||||
"www:dev": "pnpm --filter www dev",
|
|
||||||
"demo:dev": "pnpm --filter demo dev",
|
|
||||||
"cat:dev": "pnpm --filter catppuccin-dark-demo dev",
|
|
||||||
"api:test": "pnpm --filter astro-ghostcms test",
|
"api:test": "pnpm --filter astro-ghostcms test",
|
||||||
"api:test:watch": "pnpm --filter astro-ghostcms test:watch",
|
"api:test:watch": "pnpm --filter astro-ghostcms test:watch",
|
||||||
"api:test:coverage": "pnpm --filter astro-ghostcms test:coverage",
|
"api:test:coverage": "pnpm --filter astro-ghostcms test:coverage",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@matthiesenxyz/astro-ghostcms-brutalbyelian",
|
"name": "@matthiesenxyz/astro-ghostcms-brutalbyelian",
|
||||||
"description": "ElianCodes Brutal theme modified to work with Astro-GhostCMS",
|
"description": "ElianCodes Brutal theme modified to work with Astro-GhostCMS",
|
||||||
"version": "0.0.2",
|
"version": "0.0.3",
|
||||||
"homepage": "https://astro-ghostcms.xyz/",
|
"homepage": "https://astro-ghostcms.xyz/",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -51,7 +51,6 @@
|
||||||
"eslint-plugin-jsx-a11y": "^6.8.0",
|
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||||
"prettier-plugin-astro": "^0.13.0",
|
"prettier-plugin-astro": "^0.13.0",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"sharp": "^0.33.2",
|
|
||||||
"@matthiesenxyz/astro-ghostcms": "workspace:*"
|
"@matthiesenxyz/astro-ghostcms": "workspace:*"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
1272
pnpm-lock.yaml
1272
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,3 @@
|
||||||
packages:
|
packages:
|
||||||
- "packages/*"
|
- "packages/*"
|
||||||
- "playground"
|
- "playground"
|
||||||
- "www"
|
|
||||||
- "demo"
|
|
||||||
- "brutal-demo"
|
|
||||||
- "catppuccin-dark-demo"
|
|
|
@ -1,21 +0,0 @@
|
||||||
# build output
|
|
||||||
dist/
|
|
||||||
# generated types
|
|
||||||
.astro/
|
|
||||||
|
|
||||||
# dependencies
|
|
||||||
node_modules/
|
|
||||||
|
|
||||||
# logs
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
pnpm-debug.log*
|
|
||||||
|
|
||||||
|
|
||||||
# environment variables
|
|
||||||
.env
|
|
||||||
.env.production
|
|
||||||
|
|
||||||
# macOS-specific files
|
|
||||||
.DS_Store
|
|
|
@ -1 +0,0 @@
|
||||||
Repo for Astro-ghostcms.xyz website
|
|
|
@ -1,50 +0,0 @@
|
||||||
import { defineConfig } from 'astro/config';
|
|
||||||
import fs from 'node:fs';
|
|
||||||
import { ExpressiveCodeTheme } from '@astrojs/starlight/expressive-code';
|
|
||||||
import starlight from "@astrojs/starlight";
|
|
||||||
|
|
||||||
const houstonFile = './houston-vscode.jsonc';
|
|
||||||
const houston = fs.readFileSync(
|
|
||||||
new URL(houstonFile, import.meta.url),'utf-8');
|
|
||||||
const houstonTheme = ExpressiveCodeTheme.fromJSONString(houston);
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
site: 'https://astro-ghostcms.xyz',
|
|
||||||
integrations: [
|
|
||||||
starlight({
|
|
||||||
title: 'Astro-GhostCMS',
|
|
||||||
logo: {
|
|
||||||
src: './src/assets/spaceghost.png'
|
|
||||||
},
|
|
||||||
favicon: 'spaceghost.png',
|
|
||||||
customCss: [ './src/styles/starlight.css' ],
|
|
||||||
expressiveCode: { themes: [ houstonTheme ] },
|
|
||||||
social: {
|
|
||||||
github: 'https://github.com/MatthiesenXYZ/astro-ghostcms',
|
|
||||||
},
|
|
||||||
sidebar: [
|
|
||||||
{ label: 'Docs Home', link: '/docs/' },
|
|
||||||
{ label: 'Introduction', items: [
|
|
||||||
{ label: 'Getting Started', link: '/docs/introduction/getting-started' },
|
|
||||||
{ label: 'Integration Mode', badge: { variant: 'default', text: 'Easy' }, items: [
|
|
||||||
{ label: 'Quick Install', link: '/docs/introduction/integration/quick' },
|
|
||||||
{ label: 'Manual Install', link: '/docs/introduction/integration/manual' },
|
|
||||||
{ label: 'Configuration Options', link: '/docs/introduction/integration/config', }, ], },
|
|
||||||
{ label: 'API Only Mode', badge: { variant: 'default', text: 'Advanced' }, items: [
|
|
||||||
{ label: 'Install', link: '/docs/introduction/api/install' },
|
|
||||||
{ label: 'Basic API Usage', link: '/docs/introduction/api/usage' },
|
|
||||||
{ label: 'Templates', link: '/docs/introduction/api/templates', badge: { text: 'DIY', variant: 'note' }, } ], }, ], },
|
|
||||||
{ label: 'Customization', items: [
|
|
||||||
{ label: 'Default Theme Usage', autogenerate: { directory: 'docs/customization/theme-default'}, },
|
|
||||||
]},
|
|
||||||
{ label: 'Themes', badge: { text: 'NPM-Module', variant: 'tip' }, items: [
|
|
||||||
{ label: 'Catppuccin Theme', autogenerate: { directory: 'docs/themes/catppuccin'}, },
|
|
||||||
{ label: 'Brutal by Elian Theme', badge: { text: 'NEW', variant: 'success' }, autogenerate: { directory: 'docs/themes/brutalbyelian'}, },
|
|
||||||
] },
|
|
||||||
{ label: 'Tutorials', autogenerate: { directory: 'docs/tutorials' }, },
|
|
||||||
{ label: 'Reference', autogenerate: { directory: 'docs/reference' }, },
|
|
||||||
],
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
});
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,22 +0,0 @@
|
||||||
{
|
|
||||||
"name": "www",
|
|
||||||
"type": "module",
|
|
||||||
"license": "MIT",
|
|
||||||
"version": "0.0.1",
|
|
||||||
"scripts": {
|
|
||||||
"dev": "astro dev",
|
|
||||||
"start": "astro dev",
|
|
||||||
"build": "astro check && astro build",
|
|
||||||
"preview": "astro preview",
|
|
||||||
"astro": "astro"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@astrojs/check": "^0.4.1",
|
|
||||||
"@astrojs/starlight": "^0.17.2",
|
|
||||||
"astro": "^4.3.2",
|
|
||||||
"astro-font": "^0.0.77",
|
|
||||||
"sass": "^1.69.5",
|
|
||||||
"sharp": "^0.33.2",
|
|
||||||
"typescript": "^5.3.3"
|
|
||||||
}
|
|
||||||
}
|
|
Binary file not shown.
Before Width: | Height: | Size: 36 KiB |
Binary file not shown.
Before Width: | Height: | Size: 29 KiB |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Before Width: | Height: | Size: 36 KiB |
|
@ -1,7 +0,0 @@
|
||||||
# Run this command and follow the prompt!
|
|
||||||
npx @matthiesenxyz/create-astro-ghostcms
|
|
||||||
# Want to pass arguments through to the command? YOU CAN!
|
|
||||||
# `--install` : Sets Install Dependencies to 'true'
|
|
||||||
# `--git` : Initiates git Repo
|
|
||||||
# `--pkg-manager` : Specify your Package manager
|
|
||||||
# ( i.e. `npm`, `yarn` | DEFAULT: `pnpm` )
|
|
Binary file not shown.
Before Width: | Height: | Size: 29 KiB |
|
@ -1,58 +0,0 @@
|
||||||
---
|
|
||||||
import { AstroFont } from 'astro-font';
|
|
||||||
import { ViewTransitions } from 'astro:transitions';
|
|
||||||
import { SiteTitle, SiteDescription } from '../consts';
|
|
||||||
import spaceghost from '../assets/spaceghost.png'
|
|
||||||
|
|
||||||
const canonicalURL = new URL(Astro.url.pathname, Astro.site)
|
|
||||||
|
|
||||||
const { title = SiteTitle, name = SiteTitle, description = SiteDescription } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<!-- Page Metadata -->
|
|
||||||
<link rel="canonical" href={canonicalURL} />
|
|
||||||
<link rel="icon" type="image/svg" href={spaceghost.src} />
|
|
||||||
<meta name="description" content={description} />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
||||||
|
|
||||||
<!-- OpenGraph Tags -->
|
|
||||||
<meta property="og:title" content={title} />
|
|
||||||
<meta property="og:url" content={canonicalURL} />
|
|
||||||
<meta property="og:locale" content='en' />
|
|
||||||
<meta property="og:description" content={description} />
|
|
||||||
<meta property="og:site_name" content={name} />
|
|
||||||
<meta property="og:image" content={Astro.url+'og.png'} />
|
|
||||||
|
|
||||||
<!-- Twitter Tags -->
|
|
||||||
<meta name="twitter:card" content='summary_large_image' />
|
|
||||||
<meta name="twitter:title" content={title} />
|
|
||||||
<meta name="twitter:description" content={description} />
|
|
||||||
<meta name="twitter:image" content={Astro.url+'og.png'} />
|
|
||||||
<meta name="twitter:image:alt" content="og_alt" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
|
||||||
|
|
||||||
<AstroFont
|
|
||||||
config={[
|
|
||||||
{
|
|
||||||
src: [],
|
|
||||||
name: "Lato",
|
|
||||||
preload: true,
|
|
||||||
display: "swap",
|
|
||||||
selector: "body",
|
|
||||||
fallback: "sans-serif",
|
|
||||||
googleFontsURL: 'https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
src: [],
|
|
||||||
preload: false,
|
|
||||||
display: "swap",
|
|
||||||
fallback: "sans-serif",
|
|
||||||
name: "Source Code Pro",
|
|
||||||
cssVariable: "font-source-code",
|
|
||||||
googleFontsURL: 'https://fonts.googleapis.com/css2?family=Source+Code+Pro&display=swap',
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<ViewTransitions />
|
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
import '../styles/global.scss';
|
|
||||||
---
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<p>© MatthiesenXYZ 2024</p>
|
|
||||||
<div class="footer_links">
|
|
||||||
<a href="/archive">Previous Release Archives</a>
|
|
||||||
<a href="https://github.com/MatthiesenXYZ/astro-ghostcms">GitHub</a>
|
|
||||||
<a href="https://www.buymeacoffee.com/adammatthiesen/membership">Become a Supporter</a>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
import type { HTMLAttributes } from 'astro/types';
|
|
||||||
|
|
||||||
type Props = HTMLAttributes<'time'> & {
|
|
||||||
date: Date;
|
|
||||||
};
|
|
||||||
|
|
||||||
const { date, ...attrs } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<time datetime={date.toISOString()} {...attrs}>
|
|
||||||
{
|
|
||||||
date.toLocaleDateString('en-us', {
|
|
||||||
year: 'numeric',
|
|
||||||
month: 'short',
|
|
||||||
day: 'numeric',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</time>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
time {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,4 +0,0 @@
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
<div>Astro-GhostCMS is independently maintained and not provided by Ghost or <a href="https://astro.build">Astro</a>, Ghost is a trademark of <a href="https://ghost.org">The Ghost Foundation</a>.</div>
|
|
|
@ -1,32 +0,0 @@
|
||||||
---
|
|
||||||
import '../styles/global.scss';
|
|
||||||
import { SiteTitle } from '../consts';
|
|
||||||
import spaceghost from '../assets/spaceghost.png'
|
|
||||||
---
|
|
||||||
|
|
||||||
<header>
|
|
||||||
<nav>
|
|
||||||
<h2 id="site_title">
|
|
||||||
<a href="/">
|
|
||||||
<img src={spaceghost.src} alt="logo" width={64}/>
|
|
||||||
{SiteTitle}
|
|
||||||
</a>
|
|
||||||
</h2>
|
|
||||||
<div class="links">
|
|
||||||
<a href="https://demo.astro-ghostcms.xyz" target="_blank"><i class="bi bi-folder-symlink-fill"> Live Demo</i></a>
|
|
||||||
<a href="https://test.demo.astro-ghostcms.xyz" target="_blank"><i class="bi bi-flag-fill"> Unlighthouse</i></a>
|
|
||||||
<a href="/docs" target=""><i aria-label="Docs" class="bi bi-journal-code"> Docs</i></a>
|
|
||||||
<a href="https://github.com/matthiesenxyz/astro-ghostcms" target="_blank"><i class="bi bi-github"> GitHub</i></a>
|
|
||||||
<a href="https://discord.gg/e4yFbGHA72" target="_blank"><i class="bi bi-discord"> Discord</i></a>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.links a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
.filter-white{
|
|
||||||
filter: invert(100%) sepia(0%) saturate(3179%) hue-rotate(226deg) brightness(118%) contrast(101%);
|
|
||||||
}
|
|
||||||
</style>
|
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
import { Code } from '@astrojs/starlight/components';
|
|
||||||
import quickstart from "../assets/quickstart.sh?raw"
|
|
||||||
|
|
||||||
const highlights = ['npm', 'yarn', 'pnpm', 2];
|
|
||||||
---
|
|
||||||
<Code
|
|
||||||
title='Astro-GhostCMS Quickstart'
|
|
||||||
lang={'sh'}
|
|
||||||
class='quickstart'
|
|
||||||
code={quickstart}
|
|
||||||
mark={highlights}
|
|
||||||
/>
|
|
||||||
|
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
---
|
|
||||||
import type { ImageMetadata } from 'astro';
|
|
||||||
type Image = {
|
|
||||||
src: string | ImageMetadata;
|
|
||||||
alt: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
type SEOMetadata = {
|
|
||||||
name: string;
|
|
||||||
title: string;
|
|
||||||
description: string;
|
|
||||||
image?: Image | undefined;
|
|
||||||
canonicalURL?: URL | string | undefined;
|
|
||||||
locale?: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
type OpenGraph = Partial<SEOMetadata> & {
|
|
||||||
type?: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
type Twitter = Partial<SEOMetadata> & {
|
|
||||||
handle?: string;
|
|
||||||
card?: 'summary' | 'summary_large_image';
|
|
||||||
};
|
|
||||||
|
|
||||||
export type Props = SEOMetadata & {
|
|
||||||
og?: OpenGraph;
|
|
||||||
twitter?: Twitter;
|
|
||||||
};
|
|
||||||
|
|
||||||
const {
|
|
||||||
name,
|
|
||||||
title,
|
|
||||||
description,
|
|
||||||
image,
|
|
||||||
locale = 'en',
|
|
||||||
canonicalURL = new URL(Astro.url.pathname, Astro.site),
|
|
||||||
} = Astro.props;
|
|
||||||
|
|
||||||
const og = {
|
|
||||||
name,
|
|
||||||
title,
|
|
||||||
description,
|
|
||||||
canonicalURL,
|
|
||||||
image,
|
|
||||||
locale,
|
|
||||||
type: 'website',
|
|
||||||
...(Astro.props.og ?? {}),
|
|
||||||
} satisfies OpenGraph;
|
|
||||||
|
|
||||||
const twitter = {
|
|
||||||
name,
|
|
||||||
title,
|
|
||||||
description,
|
|
||||||
canonicalURL,
|
|
||||||
image,
|
|
||||||
locale,
|
|
||||||
card: 'summary_large_image',
|
|
||||||
...Astro.props.twitter,
|
|
||||||
};
|
|
||||||
|
|
||||||
function normalizeImageUrl(image: string | ImageMetadata) {
|
|
||||||
return typeof image === 'string' ? image : image.src;
|
|
||||||
}
|
|
||||||
---
|
|
||||||
|
|
||||||
<!-- Page Metadata -->
|
|
||||||
<link rel="canonical" href={canonicalURL} />
|
|
||||||
<meta name="description" content={description} />
|
|
||||||
|
|
||||||
<!-- OpenGraph Tags -->
|
|
||||||
<meta property="og:title" content={og.title} />
|
|
||||||
<meta property="og:type" content={og.type} />
|
|
||||||
<meta property="og:url" content={canonicalURL} />
|
|
||||||
<meta property="og:locale" content={og.locale} />
|
|
||||||
<meta property="og:description" content={og.description} />
|
|
||||||
<meta property="og:site_name" content={og.name} />
|
|
||||||
|
|
||||||
<!-- Twitter Tags -->
|
|
||||||
<meta name="twitter:card" content={twitter.card} />
|
|
||||||
<meta name="twitter:site" content={twitter.handle} />
|
|
||||||
<meta name="twitter:title" content={twitter.title} />
|
|
||||||
<meta name="twitter:description" content={twitter.description} />
|
|
||||||
{twitter.image && <meta name="twitter:image" content={normalizeImageUrl(twitter.image.src)} />}
|
|
||||||
{twitter.image && <meta name="twitter:image:alt" content={twitter.image.alt} />}
|
|
|
@ -1,5 +0,0 @@
|
||||||
// Place any global data in this file.
|
|
||||||
// You can import this data from anywhere in your site by using the `import` keyword.
|
|
||||||
|
|
||||||
export const SiteTitle = 'Astro-GhostCMS';
|
|
||||||
export const SiteDescription = 'Easily migrate your Ghost site to Astro';
|
|
|
@ -1,48 +0,0 @@
|
||||||
---
|
|
||||||
title: 'Introducing Astro-GhostCMS.xyz!'
|
|
||||||
date: '01-17-2024'
|
|
||||||
versionNumber: '2.0.5'
|
|
||||||
description: 'This is the First Release posted to our new website!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## Introducing Astro-GhostCMS.xyz!
|
|
||||||
|
|
||||||
Greetings, Astro-GhostCMS users! We're happy to announce the launch of our new website astro-ghostcms.xyz a central location to get all your relevent updates regarding our Astro-GhostCMS integration!
|
|
||||||
|
|
||||||
### Welcome to Astro-GhostCMS
|
|
||||||
|
|
||||||
- [Live Demo](https://demo.astro-ghostcms.xyz/) of the Astro-GhostCMS integration in action!
|
|
||||||
- [Live Demo's Repo](https://github.com/MatthiesenXYZ/astro-ghostcms-demo) for an example of how the setup looks.
|
|
||||||
|
|
||||||
Astro minimum Version: **Astro v4.0**
|
|
||||||
|
|
||||||
This Integration is 2 parts. Firstly, there is the API portion that uses the `@tryghost/content-api` to create the link between astro and GhostCMS. From there we move to the Second Part, which is a theme pre-programmed to pull ALL of its data from GhostCMS iteself instead of storing any data locally outside of Build.
|
|
||||||
|
|
||||||
- *This package contains a independent copy of the tryghost content-api.js that is used to establish the connection so this package dose not depend on `@tryghost/content-api` package.*
|
|
||||||
- If you are looking for a more Customizable option please check [astro-ghostcms-basetheme](https://github.com/MatthiesenXYZ/astro-ghostcms-basetheme)
|
|
||||||
- This project is not setup for SSR in Integration mode. As such is will most likely not function properly in that mode. You will need to build your own project around the API or customize the *basetheme* linked above.
|
|
||||||
|
|
||||||
### Quick Start : Astro Integration Mode
|
|
||||||
|
|
||||||
In this mode, the addon will not be just an API, but will be a full Route takeover, there is plans to add more themes in time, but for now there is only the base Casper theme based on Ghost's main Theme.
|
|
||||||
|
|
||||||
## Astro Add Installation
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# For fresh Install
|
|
||||||
npm create astro@latest
|
|
||||||
# Create Empty Install with standard typescript
|
|
||||||
# Then Delete entire `pages` folder under `/src/`
|
|
||||||
npx astro add @matthiesenxyz/astro-ghostcms
|
|
||||||
```
|
|
||||||
#### Dont forget to set your environment Variables!
|
|
||||||
|
|
||||||
You must also create 2 environment variables in a `.env` file with the following(*Below info is for DEMO Purposes. Please generate your own API_KEY for your Ghost install.*):
|
|
||||||
|
|
||||||
```ansi frame="code" title=".env"
|
|
||||||
[1;31mCONTENT_API_KEY[0m=[33ma33da3965a3a9fb2c6b3f63b48
|
|
||||||
[1;31mCONTENT_API_URL[0m=[33mhttps://ghostdemo.matthiesen.xyz
|
|
||||||
```
|
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
title: 'New Feature: Theming (BETA)'
|
|
||||||
date: '01-18-2024'
|
|
||||||
versionNumber: '2.0.8'
|
|
||||||
description: 'New Feature Alert! Theming!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## New Feature: Themes (BETA)!
|
|
||||||
|
|
||||||
As of posting this there is now a new undocumented feature. Themes! this feature will allow the end-user the option of changing how their website's astro-ghostcms install looks and functons! I will be building a Theme Skeleton and then documentation for this new feature. Stay tuned for more updates as this is a beta feature!
|
|
|
@ -1,20 +0,0 @@
|
||||||
---
|
|
||||||
title: 'Updates & Bug Fixes'
|
|
||||||
date: '01-20-2024 08:00'
|
|
||||||
versionNumber: '2.1.0'
|
|
||||||
description: 'Updates & Bug Fixes'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## Updates
|
|
||||||
|
|
||||||
This patch resolved some outstanding issues with the api integration itself. There had been some issues with types being imported and not working. that is now solved.
|
|
||||||
|
|
||||||
RSS Implentation is successful, Integration now checks that .env file exisits with the required values set.
|
|
||||||
|
|
||||||
New Features in progress:
|
|
||||||
- sitemap integration
|
|
||||||
- robots integration
|
|
||||||
- rss styling
|
|
|
@ -1,22 +0,0 @@
|
||||||
---
|
|
||||||
title: 'Updates & Bug Fixes'
|
|
||||||
date: '01-20-2024 11:00'
|
|
||||||
versionNumber: '2.1.3'
|
|
||||||
description: 'Updates & Bug Fixes'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## Bug Fixes & New Config Options
|
|
||||||
|
|
||||||
### Fixes:
|
|
||||||
|
|
||||||
This patch resolved the issues that were causing sitemap, and robots to not load fully. Issue now resolved.
|
|
||||||
|
|
||||||
### New:
|
|
||||||
|
|
||||||
This patch also creates new Configuration Options for Sitemap and RobotsTxt allowing the user to modify the integrated plugins instead of having to run them independently from this Integration. More info on the Docs.
|
|
||||||
|
|
||||||
#### Features in progress:
|
|
||||||
- rss styling
|
|
|
@ -1,22 +0,0 @@
|
||||||
---
|
|
||||||
title: 'IntelliSense Docs Integration!'
|
|
||||||
date: '01-20-2024 14:40'
|
|
||||||
versionNumber: '2.1.5'
|
|
||||||
description: 'IntelliSense Docs Integration!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## IntelliSense Docs Integration!
|
|
||||||
|
|
||||||
### Fixes:
|
|
||||||
|
|
||||||
Unnoted v2.1.4 was supposed to add jsDocs to our IntelliSense but that caused all sorts of errors at first. But we are glad to announce, IT IS NOW WORKING! now while you are trying to setup your config it will give you some help!
|
|
||||||
|
|
||||||
### New:
|
|
||||||
|
|
||||||
- IntelliSense jsDoc Integration(Resources right in your code editor)!
|
|
||||||
|
|
||||||
#### Features in progress:
|
|
||||||
- rss styling
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
title: 'More Features! and a 404 page!'
|
|
||||||
date: '01-21-2024 01:20'
|
|
||||||
versionNumber: '2.1.7'
|
|
||||||
description: 'More Features! and a 404 page!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## More Features! and a 404 page!
|
|
||||||
|
|
||||||
### Fixes:
|
|
||||||
|
|
||||||
v2.1.6 & v2.1.7 include updates to include a new 404 page route, as well clean up a bunch of internal code.
|
|
||||||
|
|
||||||
### New:
|
|
||||||
|
|
||||||
- New options that allow users to disable both console logging and the default route injection
|
|
||||||
|
|
||||||
#### Features in progress:
|
|
||||||
|
|
||||||
- rss styling
|
|
|
@ -1,17 +0,0 @@
|
||||||
---
|
|
||||||
title: 'Minior Bug fixes & some code cleanup'
|
|
||||||
date: '01-21-2024 07:00'
|
|
||||||
versionNumber: '2.1.8'
|
|
||||||
description: 'Minior Bug fixes & some code cleanup'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## Minior Bug fixes & some code cleanup
|
|
||||||
|
|
||||||
Nothing Major in this update, i went through and cleaned up and reorganized some files and code. No breaking changes no bugs.
|
|
||||||
|
|
||||||
#### Features in progress:
|
|
||||||
|
|
||||||
- rss styling
|
|
|
@ -1,35 +0,0 @@
|
||||||
import { defineCollection, z } from 'astro:content';
|
|
||||||
import { docsSchema } from '@astrojs/starlight/schema';
|
|
||||||
|
|
||||||
const releases = defineCollection({
|
|
||||||
schema: ({ image }) =>
|
|
||||||
z.object({
|
|
||||||
title: z.string(),
|
|
||||||
description: z.string(),
|
|
||||||
versionNumber: z.string(),
|
|
||||||
image: z.object({
|
|
||||||
src: image(),
|
|
||||||
alt: z.string(),
|
|
||||||
}).optional(),
|
|
||||||
date: z.date({ coerce: true }),
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
|
|
||||||
const archivedreleases = defineCollection({
|
|
||||||
schema: ({ image }) =>
|
|
||||||
z.object({
|
|
||||||
title: z.string(),
|
|
||||||
description: z.string(),
|
|
||||||
versionNumber: z.string(),
|
|
||||||
image: z.object({
|
|
||||||
src: image(),
|
|
||||||
alt: z.string(),
|
|
||||||
}).optional(),
|
|
||||||
date: z.date({ coerce: true }),
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const collections = {
|
|
||||||
docs: defineCollection({ schema: docsSchema() }),
|
|
||||||
releases, archivedreleases,
|
|
||||||
};
|
|
|
@ -1,24 +0,0 @@
|
||||||
---
|
|
||||||
title: Enable Darkmode
|
|
||||||
description: How to enable Dark-Mode on the default theme
|
|
||||||
---
|
|
||||||
|
|
||||||
*Requires `@matthiesenxyz/astro-ghostcms` version 0.1.1 and above*
|
|
||||||
|
|
||||||
To enable darkmode on your Astro-Ghost install for the basic theme all you have to do is add a Code_Injection to the Site Header. Dont know how to do that? No Problem! Just look below
|
|
||||||
|
|
||||||
- To get started Login to your GhostCMS Admin Dashboard.
|
|
||||||
- Click the Settings Icon on the bottom left next to your Avatar.
|
|
||||||
- Scroll down to `Avanced` > `Code injection` and click Open
|
|
||||||
- In the Site header tab paste the following:
|
|
||||||
|
|
||||||
```
|
|
||||||
<script>document.documentElement.classList.add('dark-mode');</script>
|
|
||||||
<script>
|
|
||||||
document.addEventListener('astro:after-swap', () => {
|
|
||||||
document.documentElement.classList.add('dark-mode');
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
```
|
|
||||||
|
|
||||||
The Above script will enable darkmode, and make it persist with Astro View Transitions.
|
|
|
@ -1,11 +0,0 @@
|
||||||
---
|
|
||||||
title: Welcome to the Docs
|
|
||||||
description: Learn more about Astro-GhostCMS - Docs built on Starlight
|
|
||||||
---
|
|
||||||
|
|
||||||
Demo site status:
|
|
||||||

|
|
||||||
|
|
||||||
Welcome to the Astro-GhostCMS Docs! Powered by Starlight & Astro.build!
|
|
||||||
|
|
||||||
Here you will find a document reference for the Astro-GhostCMS Integration & API
|
|
|
@ -1,40 +0,0 @@
|
||||||
---
|
|
||||||
title: API Only Mode - Install
|
|
||||||
description: API Only Mode - Install
|
|
||||||
---
|
|
||||||
|
|
||||||
# API Only Install
|
|
||||||
|
|
||||||
In this mode the integration will not deploy routes at all. you will have to build your own website to utilize the exported functions listed below.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm i @matthiesenxyz/astro-ghostcms
|
|
||||||
```
|
|
||||||
|
|
||||||
You must also create 2 environment variables in a `.env` file with the following:
|
|
||||||
|
|
||||||
```ansi frame="code" title=".env"
|
|
||||||
[1;31mCONTENT_API_KEY[0m=[33ma33da3965a3a9fb2c6b3f63b48
|
|
||||||
[1;31mCONTENT_API_URL[0m=[33mhttps://ghostdemo.matthiesen.xyz
|
|
||||||
```
|
|
||||||
|
|
||||||
***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!***
|
|
||||||
|
|
||||||
Then Change your astro config option in `astro.config.ts` to looks like this:
|
|
||||||
|
|
||||||
```ts frame="code" title="astro.config.ts"
|
|
||||||
import { defineConfig } from "astro/config";
|
|
||||||
import GhostCMS from '@matthiesenxyz/astro-ghostcms';
|
|
||||||
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://YOUR-DOMAIN-HERE.com",
|
|
||||||
// THIS WILL DISABLE DEFAULT ROUTE INJECT
|
|
||||||
integrations: [
|
|
||||||
GhostCMS({
|
|
||||||
// You can either set your ghostURL here or as a `.env`/environment variable
|
|
||||||
ghostURL: "https://ghostdemo.matthiesen.xyz",
|
|
||||||
disableRouteInjection: true,
|
|
||||||
})
|
|
||||||
],
|
|
||||||
});
|
|
||||||
```
|
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: API Mode - Templates
|
|
||||||
description: API Mode - Templates
|
|
||||||
---
|
|
||||||
|
|
||||||
## We now have templates to get started with!
|
|
||||||
|
|
||||||
- [Basic Starter Kit](https://github.com/MatthiesenXYZ/astro-ghostcms-basicstarterkit): This is a Public Template repo that users are free to copy and modify to their hearts content.
|
|
|
@ -1,35 +0,0 @@
|
||||||
---
|
|
||||||
title: API Only Mode - Basic Usage
|
|
||||||
description: API Only Mode - Basic Usage
|
|
||||||
---
|
|
||||||
|
|
||||||
## Manual Function Usage Examples:
|
|
||||||
|
|
||||||
### getBlogPosts
|
|
||||||
|
|
||||||
```astro frame="code" title="getBlogPosts()"
|
|
||||||
---
|
|
||||||
import { getPosts } from '@matthiesenxyz/astro-ghostcms/api';
|
|
||||||
|
|
||||||
const dateOptions = {year:"numeric",month:"long",day:"numeric"}
|
|
||||||
const posts = await getPosts()
|
|
||||||
---
|
|
||||||
{ posts?.map((post) => (
|
|
||||||
<a href={`/${post.slug}`}>
|
|
||||||
<article class="">
|
|
||||||
<Image
|
|
||||||
src={post.feature_image}
|
|
||||||
alt={post.title}
|
|
||||||
width={post.feature_image.width}
|
|
||||||
class=""/>
|
|
||||||
<h2 class="">{post.title}</h2>
|
|
||||||
|
|
||||||
<p class="">{post.excerpt}</p>
|
|
||||||
<p class="">
|
|
||||||
{new Date(post.published_at).toLocaleDateString( "en-US",dateOptions )}
|
|
||||||
</p>
|
|
||||||
</article>
|
|
||||||
</a>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
```
|
|
|
@ -1,16 +0,0 @@
|
||||||
---
|
|
||||||
title: Getting Started with Astro-GhostCMS
|
|
||||||
description: Getting Started
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
- [Live Demo](https://demo.astro-ghostcms.xyz/) of the Astro-GhostCMS integration in action!
|
|
||||||
- [Live Demo - Unlighthouse Test](https://test.demo.astro-ghostcms.xyz) for a Automatically updated Lighthouse test from every deploy!
|
|
||||||
- [Live Demo's Repo](https://github.com/MatthiesenXYZ/astro-ghostcms/tree/main/demo) for an example of how the setup looks.
|
|
||||||
|
|
||||||
Astro minimum Version: **Astro v4.0**
|
|
||||||
|
|
||||||
This Integration is 2 parts. Firstly, there is the API portion that uses the `@tsghost/core-api` to create the link between astro and GhostCMS. From there we move to the Second Part, which is a theme pre-programmed to pull ALL of its data from GhostCMS iteself instead of storing any data locally outside of Build.
|
|
||||||
|
|
||||||
- If you are looking for a more Customizable option please check [astro-ghostcms-basetheme](https://github.com/MatthiesenXYZ/astro-ghostcms-basetheme)
|
|
||||||
- The default theme is not setup for SSR in Integration mode. As such is will most likely not function properly in that mode. You will need to build your own project around the API or customize the *basetheme* linked above.
|
|
|
@ -1,58 +0,0 @@
|
||||||
---
|
|
||||||
title: Integration Mode - Configuration Options
|
|
||||||
description: Integration Mode - Configuration Options
|
|
||||||
---
|
|
||||||
|
|
||||||
### This is still a *BETA* Feature
|
|
||||||
|
|
||||||
Theme config option in `astro.config.ts` looks like this:
|
|
||||||
|
|
||||||
```ts frame="code" title="astro.config.ts"
|
|
||||||
import { defineConfig } from "astro/config";
|
|
||||||
import GhostCMS from '@matthiesenxyz/astro-ghostcms';
|
|
||||||
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://YOUR-DOMAIN-HERE.com",
|
|
||||||
integrations: [
|
|
||||||
GhostCMS({
|
|
||||||
// You can either set your ghostURL here or as a `.env`/environment variable
|
|
||||||
ghostURL: "https://ghostdemo.matthiesen.xyz",
|
|
||||||
// Disables default 404 page route
|
|
||||||
disable404: false,
|
|
||||||
// Disables default RSS page route and @astrojs/rss integration
|
|
||||||
disableRSS: false,
|
|
||||||
// Disables default satori OpenGraph generation
|
|
||||||
disableSatoriOG: false,
|
|
||||||
// *OPTIONAL* THIS Option allows the user to disable default route
|
|
||||||
// injections, disabling the default layout and theme all together.
|
|
||||||
// Allowing the user to still use integration features while building
|
|
||||||
// off of the included API functions
|
|
||||||
disableRouteInjection: false, // DEFAULT VALUE
|
|
||||||
// *OPTIONAL* Setting this to true will disable the extra info logs
|
|
||||||
disableConsoleOutput: false, // DEFAULT VALUE
|
|
||||||
// *OPTIONAL* THIS IS THE DEFAULT VALUE
|
|
||||||
theme: '@matthiesenxyz/astro-ghostcms-theme-default',
|
|
||||||
// THIS IS TO SHOW SUPPORTED FEATURES FOR MORE INFO SEE
|
|
||||||
// npm:@astrojs/sitemap package README
|
|
||||||
sitemap: {
|
|
||||||
customPages: // OPTIONAL - string[]
|
|
||||||
entryLimit: // OPTIONAL - number
|
|
||||||
}
|
|
||||||
// THIS IS TO SHOW SUPPORTED FEATURES FOR MORE INFO SEE
|
|
||||||
// npm:astro-robots-txt package README
|
|
||||||
robotstxt: {
|
|
||||||
host: // OPTIONAL - string
|
|
||||||
sitemap: // OPTIONAL - string
|
|
||||||
sitemapBaseFileName: // OPTIONAL - string
|
|
||||||
policy: { // OPTIONAL
|
|
||||||
userAgent: // REQUIRED IF POLICY IS PRESENT - string
|
|
||||||
allow: // OPTIONAL - string
|
|
||||||
disallow: //OPTIONAL - string
|
|
||||||
cleanParam: //OPTIONAL - string
|
|
||||||
crawlDelay: //OPTIONAL - number
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
});
|
|
||||||
```
|
|
|
@ -1,62 +0,0 @@
|
||||||
---
|
|
||||||
title: Integration Mode - Manual Install
|
|
||||||
description: Integration Mode - Manual Install
|
|
||||||
---
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# For fresh Install
|
|
||||||
npm create astro@latest
|
|
||||||
# Create Empty Install with standard typescript
|
|
||||||
# Then Delete entire `pages` folder under `/src/`
|
|
||||||
|
|
||||||
# Then run one of the following:
|
|
||||||
# Astro Quick mode
|
|
||||||
npx astro add @matthiesenxyz/astro-ghostcms
|
|
||||||
# Manual Method
|
|
||||||
npm i @matthiesenxyz/astro-ghostcms
|
|
||||||
```
|
|
||||||
|
|
||||||
Then set your `astro.config.ts` to look like this:
|
|
||||||
|
|
||||||
```ts frame="code" title="astro.config.ts"
|
|
||||||
import { defineConfig } from "astro/config";
|
|
||||||
import GhostCMS from '@matthiesenxyz/astro-ghostcms';
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://YOUR-DOMAIN-HERE.com"
|
|
||||||
integrations: [GhostCMS({
|
|
||||||
// You can either set your ghostURL here or as a `.env`/environment variable
|
|
||||||
// THIS WILL TAKE PRIORITY
|
|
||||||
ghostURL: "https://ghostdemo.matthiesen.xyz",
|
|
||||||
})],
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Setup `.env` variables
|
|
||||||
|
|
||||||
```ansi frame="code" title=".env"
|
|
||||||
[1;31mCONTENT_API_KEY[0m=[33ma33da3965a3a9fb2c6b3f63b48
|
|
||||||
[1;31mCONTENT_API_URL[0m=[33mhttps://ghostdemo.matthiesen.xyz
|
|
||||||
```
|
|
||||||
|
|
||||||
***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!***
|
|
||||||
|
|
||||||
## Created Routes
|
|
||||||
|
|
||||||
The routes are the same as a standard Ghost Blog so you can migrate to Astro easily.
|
|
||||||
|
|
||||||
| Route | Content |
|
|
||||||
| --------------------- | ----------------------------------------- |
|
|
||||||
| `/` | Homepage with recents/features Blog Posts |
|
|
||||||
| `/404` | 404 Page |
|
|
||||||
| `/[slug]` | Post or Page |
|
|
||||||
| `/author/[slug]` | Author page with related posts |
|
|
||||||
| `/authors` | All the authors |
|
|
||||||
| `/tag[slug]` | Tag page with related posts |
|
|
||||||
| `/tags` | All the tags |
|
|
||||||
| `/archives/[...page]` | All the posts, paginated |
|
|
||||||
| `/rss.xml` | All the posts, in a FEED |
|
|
|
@ -1,35 +0,0 @@
|
||||||
---
|
|
||||||
title: Integration Mode - Quick Install
|
|
||||||
description: Integration Mode - Quick Install
|
|
||||||
---
|
|
||||||
|
|
||||||
```sh title="Simple"
|
|
||||||
# Run this command and follow the prompt!
|
|
||||||
npx @matthiesenxyz/create-astro-ghostcms
|
|
||||||
# Want to pass arguments through to the command? YOU CAN!
|
|
||||||
# `--install` : Sets Install Dependencies to 'true'
|
|
||||||
# `--git` : Initiates git Repo
|
|
||||||
# `--pkg-manager` : Specify your Package manager(i.e. npm, yarn | DEFAULT: pnpm)
|
|
||||||
```
|
|
||||||
|
|
||||||
```sh title="Advanced"
|
|
||||||
npx @matthiesenxyz/create-astro-ghostcms <template> <project_directory> --git --install
|
|
||||||
```
|
|
||||||
|
|
||||||
***When you deploy your install dont forget to set your ENVIRONMENT VARIABLES!***
|
|
||||||
|
|
||||||
## Created Routes
|
|
||||||
|
|
||||||
The routes are the same as a standard Ghost Blog so you can migrate to Astro easily.
|
|
||||||
|
|
||||||
| Route | Content |
|
|
||||||
| --------------------- | ----------------------------------------- |
|
|
||||||
| `/` | Homepage with recents/features Blog Posts |
|
|
||||||
| `/404` | 404 Page |
|
|
||||||
| `/[slug]` | Post or Page |
|
|
||||||
| `/author/[slug]` | Author page with related posts |
|
|
||||||
| `/authors` | All the authors |
|
|
||||||
| `/tag[slug]` | Tag page with related posts |
|
|
||||||
| `/tags` | All the tags |
|
|
||||||
| `/archives/[...page]` | All the posts, paginated |
|
|
||||||
| `/rss.xml` | All the posts, in a FEED |
|
|
|
@ -1,205 +0,0 @@
|
||||||
---
|
|
||||||
title: Ghost Content API References
|
|
||||||
description: Ghost Content API References
|
|
||||||
---
|
|
||||||
|
|
||||||
- [Main Content API Docs (ghost.org)](https://ghost.org/docs/content-api/)
|
|
||||||
|
|
||||||
## Example of Posts Output
|
|
||||||
|
|
||||||
```json frame="code" title="Posts"
|
|
||||||
{
|
|
||||||
"posts": [
|
|
||||||
{
|
|
||||||
"slug": "welcome-short",
|
|
||||||
"id": "5c7ece47da174000c0c5c6d7",
|
|
||||||
"uuid": "3a033ce7-9e2d-4b3b-a9ef-76887efacc7f",
|
|
||||||
"title": "Welcome",
|
|
||||||
"html": "<p>👋 Welcome, it's great to have you here.</p>",
|
|
||||||
"comment_id": "5c7ece47da174000c0c5c6d7",
|
|
||||||
"feature_image": "https://casper.ghost.org/v2.0.0/images/welcome-to-ghost.jpg",
|
|
||||||
"feature_image_alt": null,
|
|
||||||
"feature_image_caption": null,
|
|
||||||
"featured": false,
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"created_at": "2019-03-05T19:30:15.000+00:00",
|
|
||||||
"updated_at": "2019-03-26T19:45:31.000+00:00",
|
|
||||||
"published_at": "2012-11-27T15:30:00.000+00:00",
|
|
||||||
"custom_excerpt": "Welcome, it's great to have you here.",
|
|
||||||
"codeinjection_head": null,
|
|
||||||
"codeinjection_foot": null,
|
|
||||||
"og_image": null,
|
|
||||||
"og_title": null,
|
|
||||||
"og_description": null,
|
|
||||||
"twitter_image": null,
|
|
||||||
"twitter_title": null,
|
|
||||||
"twitter_description": null,
|
|
||||||
"custom_template": null,
|
|
||||||
"canonical_url": null,
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"id": "5951f5fca366002ebd5dbef7",
|
|
||||||
"name": "Ghost",
|
|
||||||
"slug": "ghost",
|
|
||||||
"profile_image": "https://demo.ghost.io/content/images/2017/07/ghost-icon.png",
|
|
||||||
"cover_image": null,
|
|
||||||
"bio": "The professional publishing platform",
|
|
||||||
"website": "https://ghost.org",
|
|
||||||
"location": null,
|
|
||||||
"facebook": "ghost",
|
|
||||||
"twitter": "@tryghost",
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"url": "https://demo.ghost.io/author/ghost/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"id": "59799bbd6ebb2f00243a33db",
|
|
||||||
"name": "Getting Started",
|
|
||||||
"slug": "getting-started",
|
|
||||||
"description": null,
|
|
||||||
"feature_image": null,
|
|
||||||
"visibility": "public",
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"url": "https://demo.ghost.io/tag/getting-started/"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"primary_author": {
|
|
||||||
"id": "5951f5fca366002ebd5dbef7",
|
|
||||||
"name": "Ghost",
|
|
||||||
"slug": "ghost",
|
|
||||||
"profile_image": "https://demo.ghost.io/content/images/2017/07/ghost-icon.png",
|
|
||||||
"cover_image": null,
|
|
||||||
"bio": "The professional publishing platform",
|
|
||||||
"website": "https://ghost.org",
|
|
||||||
"location": null,
|
|
||||||
"facebook": "ghost",
|
|
||||||
"twitter": "@tryghost",
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"url": "https://demo.ghost.io/author/ghost/"
|
|
||||||
},
|
|
||||||
"primary_tag": {
|
|
||||||
"id": "59799bbd6ebb2f00243a33db",
|
|
||||||
"name": "Getting Started",
|
|
||||||
"slug": "getting-started",
|
|
||||||
"description": null,
|
|
||||||
"feature_image": null,
|
|
||||||
"visibility": "public",
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"url": "https://demo.ghost.io/tag/getting-started/"
|
|
||||||
},
|
|
||||||
"url": "https://demo.ghost.io/welcome-short/",
|
|
||||||
"excerpt": "Welcome, it's great to have you here."
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Example of Tags Output
|
|
||||||
|
|
||||||
```json frame="code" title="Tags"
|
|
||||||
{
|
|
||||||
"tags": [
|
|
||||||
{
|
|
||||||
"slug": "getting-started",
|
|
||||||
"id": "5ddc9063c35e7700383b27e0",
|
|
||||||
"name": "Getting Started",
|
|
||||||
"description": null,
|
|
||||||
"feature_image": null,
|
|
||||||
"visibility": "public",
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"og_image": null,
|
|
||||||
"og_title": null,
|
|
||||||
"og_description": null,
|
|
||||||
"twitter_image": null,
|
|
||||||
"twitter_title": null,
|
|
||||||
"twitter_description": null,
|
|
||||||
"codeinjection_head": null,
|
|
||||||
"codeinjection_foot": null,
|
|
||||||
"canonical_url": null,
|
|
||||||
"accent_color": null,
|
|
||||||
"url": "https://docs.ghost.io/tag/getting-started/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Example of Authors Output
|
|
||||||
|
|
||||||
```json frame="code" title="Authors"
|
|
||||||
{
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"slug": "cameron",
|
|
||||||
"id": "5ddc9b9510d8970038255d02",
|
|
||||||
"name": "Cameron Almeida",
|
|
||||||
"profile_image": "https://docs.ghost.io/content/images/2019/03/1c2f492a-a5d0-4d2d-b350-cdcdebc7e413.jpg",
|
|
||||||
"cover_image": null,
|
|
||||||
"bio": "Editor at large.",
|
|
||||||
"website": "https://example.com",
|
|
||||||
"location": "Cape Town",
|
|
||||||
"facebook": "example",
|
|
||||||
"twitter": "@example",
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"url": "https://docs.ghost.io/author/cameron/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Example of Settings Output
|
|
||||||
|
|
||||||
```json frame="code" title="Settings"
|
|
||||||
{
|
|
||||||
"settings": {
|
|
||||||
"title": "Ghost",
|
|
||||||
"description": "The professional publishing platform",
|
|
||||||
"logo": "https://docs.ghost.io/content/images/2014/09/Ghost-Transparent-for-DARK-BG.png",
|
|
||||||
"icon": "https://docs.ghost.io/content/images/2017/07/favicon.png",
|
|
||||||
"accent_color": null,
|
|
||||||
"cover_image": "https://docs.ghost.io/content/images/2019/10/publication-cover.png",
|
|
||||||
"facebook": "ghost",
|
|
||||||
"twitter": "@tryghost",
|
|
||||||
"lang": "en",
|
|
||||||
"timezone": "Etc/UTC",
|
|
||||||
"codeinjection_head": null,
|
|
||||||
"codeinjection_foot": "<script src=\"//rum-static.pingdom.net/pa-5d8850cd3a70310008000482.js\" async></script>",
|
|
||||||
"navigation": [
|
|
||||||
{
|
|
||||||
"label": "Home",
|
|
||||||
"url": "/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "About",
|
|
||||||
"url": "/about/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Getting Started",
|
|
||||||
"url": "/tag/getting-started/"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Try Ghost",
|
|
||||||
"url": "https://ghost.org"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"secondary_navigation": [],
|
|
||||||
"meta_title": null,
|
|
||||||
"meta_description": null,
|
|
||||||
"og_image": null,
|
|
||||||
"og_title": null,
|
|
||||||
"og_description": null,
|
|
||||||
"twitter_image": null,
|
|
||||||
"twitter_title": null,
|
|
||||||
"twitter_description": null,
|
|
||||||
"members_support_address": "noreply@docs.ghost.io",
|
|
||||||
"url": "https://docs.ghost.io/"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
|
@ -1,9 +0,0 @@
|
||||||
---
|
|
||||||
title: Unlighthouse Report Lists
|
|
||||||
description: Unlighthouse Report Lists
|
|
||||||
---
|
|
||||||
|
|
||||||
Below you will find a list of links to different lighthouse reports generated using [Unlighthouse](https://unlighthouse.dev)'s CI utility
|
|
||||||
|
|
||||||
- [Main Demo](https://test.demo.astro-ghostcms.xyz)
|
|
||||||
- [Base Theme Demo](https://test.basetheme-demo.astro-ghostcms.xyz)
|
|
|
@ -1,8 +0,0 @@
|
||||||
---
|
|
||||||
title: Quick Install
|
|
||||||
description: How to install the Brutal by Elian Theme
|
|
||||||
---
|
|
||||||
|
|
||||||
[Demo](https://brutal-demo.astro-ghostcms.xyz/)
|
|
||||||
|
|
||||||
## Coming Soon
|
|
|
@ -1,80 +0,0 @@
|
||||||
---
|
|
||||||
title: Manual Install
|
|
||||||
description: How to install the Brutal by Elian Theme
|
|
||||||
---
|
|
||||||
|
|
||||||
[Demo](https://brutal-demo.astro-ghostcms.xyz/)
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# For fresh Install
|
|
||||||
npm create astro@latest
|
|
||||||
# Create Empty Install with standard typescript
|
|
||||||
# Then Delete entire `pages` folder under `/src/`
|
|
||||||
|
|
||||||
# Then run the following:
|
|
||||||
|
|
||||||
npx astro add @matthiesenxyz/astro-ghostcms
|
|
||||||
|
|
||||||
npm i @matthiesenxyz/astro-ghostcms/astro-ghostcms-brutalbyelian @unocss/astro
|
|
||||||
|
|
||||||
npm i -D @unocss/reset postcss unocss
|
|
||||||
```
|
|
||||||
|
|
||||||
Then set your `astro.config.ts` to look like this:
|
|
||||||
|
|
||||||
```ts frame="code" title="astro.config.ts"
|
|
||||||
import { defineConfig } from "astro/config";
|
|
||||||
import ghostcms from "@matthiesenxyz/astro-ghostcms";
|
|
||||||
import UnoCSS from 'unocss/astro';
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://YOURDOMAINHERE.com/",
|
|
||||||
trailingSlash: 'ignore',
|
|
||||||
integrations: [
|
|
||||||
UnoCSS({ injectReset: true }),
|
|
||||||
ghostcms({
|
|
||||||
theme: "@matthiesenxyz/astro-ghostcms-catppuccin",
|
|
||||||
ghostURL: "https://ghostdemo.matthiesen.xyz",
|
|
||||||
})
|
|
||||||
],
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
## Setup UnoCSS
|
|
||||||
|
|
||||||
```ts frame="code" title="uno.config.ts"
|
|
||||||
import brutalTheme from '@matthiesenxyz/astro-ghostcms-brutalbyelian';
|
|
||||||
import { defineConfig } from 'unocss';
|
|
||||||
|
|
||||||
export default defineConfig({
|
|
||||||
presets: [ brutalTheme() ],
|
|
||||||
});
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Setup `.env` variables
|
|
||||||
|
|
||||||
```ansi frame="code" title=".env"
|
|
||||||
[1;31mCONTENT_API_KEY[0m=[33ma33da3965a3a9fb2c6b3f63b48
|
|
||||||
```
|
|
||||||
|
|
||||||
***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!***
|
|
||||||
|
|
||||||
## Created Routes
|
|
||||||
|
|
||||||
The routes are the same as a standard Ghost Blog so you can migrate to Astro easily.
|
|
||||||
|
|
||||||
| Route | Content |
|
|
||||||
| --------------------- | ----------------------------------------- |
|
|
||||||
| `/` | Homepage with recents/features Blog Posts |
|
|
||||||
| `/404` | 404 Page |
|
|
||||||
| `/[slug]` | Post or Page |
|
|
||||||
| `/author/[slug]` | Author page with related posts |
|
|
||||||
| `/authors` | All the authors |
|
|
||||||
| `/tag[slug]` | Tag page with related posts |
|
|
||||||
| `/tags` | All the tags |
|
|
||||||
| `/archives/[...page]` | All the posts, paginated |
|
|
||||||
| `/rss.xml` | All the posts, in a FEED |
|
|
|
@ -1,92 +0,0 @@
|
||||||
---
|
|
||||||
title: Manual Install
|
|
||||||
description: How to install the Catppuccin theme
|
|
||||||
---
|
|
||||||
|
|
||||||
[Demo](https://catppuccindark-demo.astro-ghostcms.xyz/)
|
|
||||||
|
|
||||||
## Install
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# For fresh Install
|
|
||||||
npm create astro@latest
|
|
||||||
# Create Empty Install with standard typescript
|
|
||||||
# Then Delete entire `pages` folder under `/src/`
|
|
||||||
|
|
||||||
# Then run the following:
|
|
||||||
|
|
||||||
npx astro add @matthiesenxyz/astro-ghostcms tailwind
|
|
||||||
|
|
||||||
npm i @matthiesenxyz/astro-ghostcms/astro-ghostcms-catppuccin
|
|
||||||
```
|
|
||||||
|
|
||||||
Then set your `astro.config.ts` to look like this:
|
|
||||||
|
|
||||||
```ts frame="code" title="astro.config.ts"
|
|
||||||
import { defineConfig } from "astro/config";
|
|
||||||
import ghostcms from "@matthiesenxyz/astro-ghostcms";
|
|
||||||
import tailwind from "@astrojs/tailwind";
|
|
||||||
|
|
||||||
// https://astro.build/config
|
|
||||||
export default defineConfig({
|
|
||||||
site: "https://YOURDOMAINHERE.com/",
|
|
||||||
integrations: [tailwind(),
|
|
||||||
ghostcms({
|
|
||||||
theme: "@matthiesenxyz/astro-ghostcms-catppuccin",
|
|
||||||
ghostURL: "https://ghostdemo.matthiesen.xyz",
|
|
||||||
})
|
|
||||||
],
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
## Setup Tailwind
|
|
||||||
|
|
||||||
There are multiple color options with Catppuccin. This theme defaults to one of the 3 darker themes. The themes in order are
|
|
||||||
|
|
||||||
- Latte (Light)
|
|
||||||
- Frappe (Light Dark)
|
|
||||||
- Macchiato (Dark Light) *DEFAULT*
|
|
||||||
- Mocha (Darkest)
|
|
||||||
|
|
||||||
### To use Default options just call the theme's Node Module
|
|
||||||
|
|
||||||
```ts frame="code" title="tailwind.config.cjs"
|
|
||||||
/** @type {import('tailwindcss').Config} */
|
|
||||||
module.exports = {
|
|
||||||
presets: [require('@matthiesenxyz/astro-ghostcms-catppuccin')]
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### To use Specific options call the theme's Node Module `/` the color option lowercase
|
|
||||||
|
|
||||||
```ts frame="code" title="tailwind.config.cjs"
|
|
||||||
/** @type {import('tailwindcss').Config} */
|
|
||||||
module.exports = {
|
|
||||||
// OTHER OPTIONS ARE: `/frappe`, `/macchiato`, or `/mocha`
|
|
||||||
presets: [require('@matthiesenxyz/astro-ghostcms-catppuccin/latte')]
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
## Setup `.env` variables
|
|
||||||
|
|
||||||
```ansi frame="code" title=".env"
|
|
||||||
[1;31mCONTENT_API_KEY[0m=[33ma33da3965a3a9fb2c6b3f63b48
|
|
||||||
```
|
|
||||||
|
|
||||||
***When you deploy your install dont forget to set the above ENVIRONMENT VARIABLES!***
|
|
||||||
|
|
||||||
## Created Routes
|
|
||||||
|
|
||||||
The routes are the same as a standard Ghost Blog so you can migrate to Astro easily.
|
|
||||||
|
|
||||||
| Route | Content |
|
|
||||||
| --------------------- | ----------------------------------------- |
|
|
||||||
| `/` | Homepage with recents/features Blog Posts |
|
|
||||||
| `/404` | 404 Page |
|
|
||||||
| `/[slug]` | Post or Page |
|
|
||||||
| `/author/[slug]` | Author page with related posts |
|
|
||||||
| `/authors` | All the authors |
|
|
||||||
| `/tag[slug]` | Tag page with related posts |
|
|
||||||
| `/tags` | All the tags |
|
|
||||||
| `/archives/[...page]` | All the posts, paginated |
|
|
||||||
| `/rss.xml` | All the posts, in a FEED |
|
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
title: Quick Install
|
|
||||||
description: How to install the Catppuccin Dark theme
|
|
||||||
---
|
|
||||||
|
|
||||||
[Demo](https://catppuccindark-demo.astro-ghostcms.xyz/)
|
|
||||||
|
|
||||||
### To Quickly get started with this theme just run the following command
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npx @matthiesenxyz/create-astro-ghostcms catppuccin
|
|
||||||
```
|
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
title: 'We now have automated Lighthouse Reports with Unlighthouse!'
|
|
||||||
date: '01-19-2024'
|
|
||||||
versionNumber: 'POST'
|
|
||||||
description: 'New Feature Alert! Theming!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## We now have automated Lighthouse Reports with Unlighthouse!!
|
|
||||||
|
|
||||||
Hello! Our Main Demo site now autogenerates a Lighthouse Report every deployment! To see this test at any point just goto [test.demo.astro-ghostcms.xyz](https://test.demo.astro-ghostcms.xyz) eventually the goal will be to have a `test.*` domain for each of the themes as well to be able to demonstrate lighthouse scores for each of our inhouse projects!
|
|
|
@ -1,15 +0,0 @@
|
||||||
---
|
|
||||||
title: 'We now have a DIY Starter Kit!'
|
|
||||||
date: '01-26-2024'
|
|
||||||
versionNumber: 'POST'
|
|
||||||
description: 'We now have a DIY Starter Kit!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## We now have a DIY Starter Kit!
|
|
||||||
|
|
||||||
As of the posting of this message, we now have a Template Repo, for those who wish to create a custom frontend and not use one of our themes. This repo allows you to take a exisiting working project and modify it freely.
|
|
||||||
|
|
||||||
To get started checkout the [Repo on Github](https://github.com/MatthiesenXYZ/astro-ghostcms-basicstarterkit)
|
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
title: 'New create-astro-ghostcms CLI Utility'
|
|
||||||
date: '01-28-2024'
|
|
||||||
versionNumber: 'POST'
|
|
||||||
description: 'New create-astro-ghostcms CLI Utility'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## We now have a CLI Utility to quickly deploy new projects!
|
|
||||||
|
|
||||||
Wow, after many hours of tinkering and trying to figure this out I have finally completed `@matthiesenxyz/create-astro-ghostcms` a `clack` based CLI Utility to auto install our project with default variables set.
|
|
|
@ -1,13 +0,0 @@
|
||||||
---
|
|
||||||
title: 'Updated Docs, and New Theme!'
|
|
||||||
date: '02-10-2024'
|
|
||||||
versionNumber: 'POST'
|
|
||||||
description: 'Updated Docs, and New Theme!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
## Updated Docs, and a New Theme!
|
|
||||||
|
|
||||||
We now have an updated Docs for our integration. As well as we have brought the Brutal Theme by Elian.Codes in to our Integration as a usable theme!
|
|
|
@ -1,29 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3 NEW API BACKEND!!!'
|
|
||||||
date: '01-23-2024 06:30'
|
|
||||||
versionNumber: '3.0.6'
|
|
||||||
description: 'v3 NEW API BACKEND!!!'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3 Update - NEW API
|
|
||||||
|
|
||||||
So this was needed from the beginning due to the way the `@tryghost/content-api` works, we have now switched to the `@ts-ghost/core-api` with our own Content-API running on top. I am thrilled to announce that it is now up and running and working! and our demo is already updated.
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- Converted Github Repo into a Monorepo to hold all of Astro-ghostxyz related content.
|
|
||||||
- Migrated from `@tryghost/content-api` to `@ts-ghost/core-api`.
|
|
||||||
- Updated the Theme to use the new API
|
|
||||||
- Moved theme into its own NPM package to prepare for the future plans of more themes!
|
|
||||||
- Resolved all github workflow issues so i can now do everything i was doing before
|
|
||||||
|
|
||||||
### Planned Additions
|
|
||||||
|
|
||||||
- Skeleton Theme - DIY KIT
|
|
||||||
|
|
||||||
### NOTICE
|
|
||||||
|
|
||||||
Version 3.0.6 and above is not compatible with previous version of this project.
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3.1.0 Stable'
|
|
||||||
date: '01-24-2024 19:00'
|
|
||||||
versionNumber: '3.1.0'
|
|
||||||
description: 'v3.1.0 Stable'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3.1.0+ Stable
|
|
||||||
|
|
||||||
As of Version 3.1.0 this project is considered stable. All workflows have been figured out. And at this point we will be focusing on working on new features and quality of life updates. If you feel you have something to contribute to make our codebase better please feel free to open an issue on [GitHub](https://github.com/matthiesenxyz/astro-ghostcms) or send a email to [issues@astro-ghostcms.xyz](mailto:issues@astro-ghostcms.xyz) which will automattically create the issue for you!
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- Nothing "new" in this release. Just some code cleanup and dependency upgrades.
|
|
||||||
|
|
||||||
### Planned Additions
|
|
||||||
|
|
||||||
- Skeleton Theme - DIY KIT
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3.1.1 - Dark Mode'
|
|
||||||
date: '01-25-2024 01:00'
|
|
||||||
versionNumber: '3.1.1'
|
|
||||||
description: 'v3.1.1 - Dark Mode'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3.1.1 Dark Mode
|
|
||||||
|
|
||||||
Woot we added darkmode to our theme!
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- Dark Mode, To enable check the docs!
|
|
||||||
|
|
||||||
### Planned Additions
|
|
||||||
|
|
||||||
- Skeleton Theme - DIY KIT
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3.1.4'
|
|
||||||
date: '01-25-2024 23:00'
|
|
||||||
versionNumber: '3.1.4'
|
|
||||||
description: 'v3.1.4'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3.1.4
|
|
||||||
|
|
||||||
Implimented Testing suites, and a bunch of Code Cleanup
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- Vitest implementation for testing the API before new version releases.
|
|
||||||
|
|
||||||
### Planned Additions
|
|
||||||
|
|
||||||
- Skeleton Theme - DIY KIT
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3.1.5'
|
|
||||||
date: '01-26-2024 05:50'
|
|
||||||
versionNumber: '3.1.5'
|
|
||||||
description: 'v3.1.5'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3.1.5
|
|
||||||
|
|
||||||
Implimented More Tests, and a bunch of Code Cleanup, and some new config options!
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- New Config options! Check the docs!
|
|
||||||
|
|
||||||
### Planned Additions
|
|
||||||
|
|
||||||
- Skeleton Theme - DIY KIT
|
|
|
@ -1,17 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3.1.7 - Satori OG Integration to add Auto OpenGraph Generation'
|
|
||||||
date: '01-30-2024 05:50'
|
|
||||||
versionNumber: '3.1.7'
|
|
||||||
description: 'v3.1.7 - Satori OG Integration to add Auto OpenGraph Generation'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3.1.7 - Satori OG Integration to add Auto OpenGraph Generation
|
|
||||||
|
|
||||||
Implimented Satori to generate open-graph images for each route automatically!
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- Satori!
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
title: 'v3.2.1 - RSS Stylesheets & Some code cleanup'
|
|
||||||
date: '02-05-2024 00:00'
|
|
||||||
versionNumber: '3.2.1'
|
|
||||||
description: 'v3.2.1 - RSS Stylesheets & Some code cleanup'
|
|
||||||
#image:
|
|
||||||
# src: '../../assets/starlog-placeholder-2.jpg'
|
|
||||||
# alt: 'The full Astro logo.'
|
|
||||||
---
|
|
||||||
|
|
||||||
# v3.2.1 - RSS Stylesheets & Some code cleanup
|
|
||||||
|
|
||||||
We now have Rss Stylesheet to make the RSS xml to look better than just a plain XML format, and some code cleanup and better logging.
|
|
||||||
|
|
||||||
### New Stuff
|
|
||||||
|
|
||||||
- RSS Stylesheets
|
|
||||||
- Better Logs
|
|
||||||
- Code Cleanup and Fixes
|
|
||||||
|
|
||||||
### Changes since 3.1.7
|
|
||||||
|
|
||||||
- Bumb Depenedency Versions and fix a small issue with Satori.
|
|
|
@ -1,2 +0,0 @@
|
||||||
/// <reference path="../.astro/types.d.ts" />
|
|
||||||
/// <reference types="astro/client" />
|
|
|
@ -1,41 +0,0 @@
|
||||||
---
|
|
||||||
import type { CollectionEntry } from 'astro:content';
|
|
||||||
import BaseHead from '../components/BaseHead.astro';
|
|
||||||
import FormattedDate from '../components/FormattedDate.astro';
|
|
||||||
import Header from '../components/Header.astro';
|
|
||||||
import Footer from '../components/Footer.astro';
|
|
||||||
import { SiteTitle } from '../consts';
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
arrelease: CollectionEntry<'archivedreleases'>;
|
|
||||||
};
|
|
||||||
|
|
||||||
const { arrelease } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<title>{arrelease.data.versionNumber} | {SiteTitle}</title>
|
|
||||||
<BaseHead
|
|
||||||
title={arrelease.data.title}
|
|
||||||
description={arrelease.data.description}
|
|
||||||
image={arrelease.data.image}
|
|
||||||
/>
|
|
||||||
</head><body>
|
|
||||||
<div class="glow"></div>
|
|
||||||
<Header />
|
|
||||||
<div class="post single" transition:persist transition:name="post">
|
|
||||||
<div class="version_wrapper">
|
|
||||||
<div class="version_info">
|
|
||||||
<div class="version_number">{arrelease.data.versionNumber}</div>
|
|
||||||
<FormattedDate class="date" date={arrelease.data.date} />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
<slot />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<Footer />
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,23 +0,0 @@
|
||||||
---
|
|
||||||
import BaseHead from '../components/BaseHead.astro';
|
|
||||||
import Header from '../components/Header.astro';
|
|
||||||
import Footer from '../components/Footer.astro';
|
|
||||||
import { SiteDescription, SiteTitle } from '../consts';
|
|
||||||
import GhostAstroFooter from '../components/GhostAstroFooter.astro';
|
|
||||||
---
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<title>{SiteTitle} </title>
|
|
||||||
<BaseHead {SiteTitle} {SiteDescription}/>
|
|
||||||
<body>
|
|
||||||
<div class="glow"></div>
|
|
||||||
<Header />
|
|
||||||
<slot />
|
|
||||||
<GhostAstroFooter />
|
|
||||||
<Footer />
|
|
||||||
</body>
|
|
||||||
</head>
|
|
||||||
</html>
|
|
|
@ -1,41 +0,0 @@
|
||||||
---
|
|
||||||
import type { CollectionEntry } from 'astro:content';
|
|
||||||
import BaseHead from '../components/BaseHead.astro';
|
|
||||||
import FormattedDate from '../components/FormattedDate.astro';
|
|
||||||
import Header from '../components/Header.astro';
|
|
||||||
import Footer from '../components/Footer.astro';
|
|
||||||
import { SiteTitle } from '../consts';
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
release: CollectionEntry<'releases'>;
|
|
||||||
};
|
|
||||||
|
|
||||||
const { release } = Astro.props;
|
|
||||||
---
|
|
||||||
|
|
||||||
<!doctype html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<title>{release.data.versionNumber} | {SiteTitle}</title>
|
|
||||||
<BaseHead
|
|
||||||
title={release.data.title}
|
|
||||||
description={release.data.description}
|
|
||||||
image={release.data.image}
|
|
||||||
/>
|
|
||||||
</head><body>
|
|
||||||
<div class="glow"></div>
|
|
||||||
<Header />
|
|
||||||
<div class="post single" transition:persist transition:name="post">
|
|
||||||
<div class="version_wrapper">
|
|
||||||
<div class="version_info">
|
|
||||||
<div class="version_number">{release.data.versionNumber}</div>
|
|
||||||
<FormattedDate class="date" date={release.data.date} />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
<slot />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<Footer />
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
import { getCollection } from 'astro:content';
|
|
||||||
import Layout from '../../layouts/ArchivePostLayout.astro';
|
|
||||||
|
|
||||||
export async function getStaticPaths() {
|
|
||||||
const arreleases = await getCollection('archivedreleases');
|
|
||||||
|
|
||||||
return arreleases.map((arrelease) => ({
|
|
||||||
params: { slug: arrelease.slug },
|
|
||||||
props: { arrelease },
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
const { arrelease } = Astro.props;
|
|
||||||
|
|
||||||
const { Content } = await arrelease.render();
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout {arrelease}>
|
|
||||||
<Content />
|
|
||||||
</Layout>
|
|
|
@ -1,37 +0,0 @@
|
||||||
---
|
|
||||||
import { getCollection } from 'astro:content';
|
|
||||||
import FormattedDate from '../../components/FormattedDate.astro';
|
|
||||||
import Layout from '../../layouts/IndexLayout.astro';
|
|
||||||
|
|
||||||
const posts = await getCollection('archivedreleases');
|
|
||||||
posts.sort((a, b) => +b.data.date - +a.data.date);
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout>
|
|
||||||
<main>
|
|
||||||
<hr />
|
|
||||||
<h1 class="page_title">Previous Version Archive</h1>
|
|
||||||
<hr />
|
|
||||||
<ul class="posts" transition:name="post">
|
|
||||||
{
|
|
||||||
posts.map((post) => (
|
|
||||||
<li class="post">
|
|
||||||
<div class="version_wrapper">
|
|
||||||
<div class="version_info">
|
|
||||||
<a href={`/archive/${post.slug}`}>
|
|
||||||
<div class="version_number">{post.data.versionNumber}</div>
|
|
||||||
<FormattedDate class="date" date={post.data.date} />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
{post.render().then(({ Content }) => (
|
|
||||||
<Content />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</main>
|
|
||||||
</Layout>
|
|
|
@ -1,41 +0,0 @@
|
||||||
---
|
|
||||||
import { getCollection } from 'astro:content';
|
|
||||||
import FormattedDate from '../components/FormattedDate.astro';
|
|
||||||
import Layout from '../layouts/IndexLayout.astro';
|
|
||||||
import QuickStart from '../components/QuickStart.astro';
|
|
||||||
|
|
||||||
const posts = await getCollection('releases');
|
|
||||||
posts.sort((a, b) => +b.data.date - +a.data.date);
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout>
|
|
||||||
<main>
|
|
||||||
<hr />
|
|
||||||
<div>Astro-GhostCMS is an Astro v4 Integration and API, its purpose is to create a easy way to bring your GhostCMS content into the Astro world. Create super fast websites, and customize to your hearts content. With the content being pulled from your headless GhostCMS install, all you do is build the layout with the info you want and your on your way!</div>
|
|
||||||
<QuickStart />
|
|
||||||
<hr />
|
|
||||||
<h1 class="page_title">News & Changelog</h1>
|
|
||||||
<hr />
|
|
||||||
<ul class="posts" transition:name="post">
|
|
||||||
{
|
|
||||||
posts.map((post) => (
|
|
||||||
<li class="post">
|
|
||||||
<div class="version_wrapper">
|
|
||||||
<div class="version_info">
|
|
||||||
<a href={`/releases/${post.slug}`}>
|
|
||||||
<div class="version_number">{post.data.versionNumber}</div>
|
|
||||||
<FormattedDate class="date" date={post.data.date} />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
{post.render().then(({ Content }) => (
|
|
||||||
<Content />
|
|
||||||
))}
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
))
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</main>
|
|
||||||
</Layout>
|
|
|
@ -1,21 +0,0 @@
|
||||||
---
|
|
||||||
import { getCollection } from 'astro:content';
|
|
||||||
import Layout from '../../layouts/PostLayout.astro';
|
|
||||||
|
|
||||||
export async function getStaticPaths() {
|
|
||||||
const releases = await getCollection('releases');
|
|
||||||
|
|
||||||
return releases.map((release) => ({
|
|
||||||
params: { slug: release.slug },
|
|
||||||
props: { release },
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
const { release } = Astro.props;
|
|
||||||
|
|
||||||
const { Content } = await release.render();
|
|
||||||
---
|
|
||||||
|
|
||||||
<Layout {release}>
|
|
||||||
<Content />
|
|
||||||
</Layout>
|
|
|
@ -1,61 +0,0 @@
|
||||||
@function color($color, $tone) {
|
|
||||||
// @warn map-get($palette,$color);
|
|
||||||
|
|
||||||
@if map-has-key($palette, $color) {
|
|
||||||
$color: map-get($palette, $color);
|
|
||||||
|
|
||||||
@if map-has-key($color, $tone) {
|
|
||||||
$tone: map-get($color, $tone);
|
|
||||||
@return $tone;
|
|
||||||
}
|
|
||||||
|
|
||||||
@warn "unknown tone `#{$tone}` in color";
|
|
||||||
@return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@warn "unknown color `#{$color}` in palette";
|
|
||||||
@return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
$white: #ffffff;
|
|
||||||
$palette: (
|
|
||||||
purple: (
|
|
||||||
50: #f2e8fd,
|
|
||||||
100: #e6d1fa,
|
|
||||||
200: #cfa3f5,
|
|
||||||
300: #ba75f0,
|
|
||||||
400: #a846ec,
|
|
||||||
500: #9818e7,
|
|
||||||
600: #7b13b4,
|
|
||||||
700: #5b0e81,
|
|
||||||
800: #3a084e,
|
|
||||||
900: #15031c,
|
|
||||||
950: #020002,
|
|
||||||
),
|
|
||||||
orange: (
|
|
||||||
50: #fbf0ea,
|
|
||||||
100: #f8e3d9,
|
|
||||||
200: #f2cab7,
|
|
||||||
300: #ecb194,
|
|
||||||
400: #e59872,
|
|
||||||
500: #df7f4f,
|
|
||||||
600: #d05f26,
|
|
||||||
700: #a1491d,
|
|
||||||
800: #713315,
|
|
||||||
900: #421e0c,
|
|
||||||
950: #2a1308,
|
|
||||||
),
|
|
||||||
gray: (
|
|
||||||
50: #f6f6f9,
|
|
||||||
100: #e6e7ef,
|
|
||||||
200: #c7c9db,
|
|
||||||
300: #a8abc7,
|
|
||||||
400: #898eb4,
|
|
||||||
500: #6a71a0,
|
|
||||||
600: #545b83,
|
|
||||||
700: #404664,
|
|
||||||
800: #2c3145,
|
|
||||||
900: #181b26,
|
|
||||||
950: #0e1016,
|
|
||||||
),
|
|
||||||
);
|
|
|
@ -1,3 +0,0 @@
|
||||||
@import 'colors.scss';
|
|
||||||
@import 'type.scss';
|
|
||||||
@import 'layout.scss';
|
|
|
@ -1,291 +0,0 @@
|
||||||
$container: 1040px;
|
|
||||||
$tablet: 768px;
|
|
||||||
$mobile: 420px;
|
|
||||||
|
|
||||||
* {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 0 1em;
|
|
||||||
width: 1040px;
|
|
||||||
max-width: 100%;
|
|
||||||
background-color: $white;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
background-color: color(gray, 950);
|
|
||||||
}
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.glow {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
position: absolute;
|
|
||||||
z-index: -1;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
&:after {
|
|
||||||
content: '';
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
top: -120px;
|
|
||||||
left: calc(50% - 360px);
|
|
||||||
width: 720px;
|
|
||||||
height: 240px;
|
|
||||||
background: radial-gradient(
|
|
||||||
50% 50% at 50% 50%,
|
|
||||||
rgba(color(orange, 500), 0.2) 0%,
|
|
||||||
rgba(color(orange, 500), 0) 100%
|
|
||||||
);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
background: radial-gradient(
|
|
||||||
50% 50% at 50% 50%,
|
|
||||||
rgba(255, 255, 255, 0.06) 0%,
|
|
||||||
rgba(255, 255, 255, 0) 100%
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
::selection {
|
|
||||||
background: color(orange, 200);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
background: color(orange, 600);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
a,
|
|
||||||
a:visited {
|
|
||||||
color: color(orange, 600);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: color(orange, 300);
|
|
||||||
}
|
|
||||||
transition: 0.1s ease;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: color(orange, 500);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
margin: 1em 0;
|
|
||||||
border: 0;
|
|
||||||
border-bottom: 1px solid color(gray, 100);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
border-color: color(gray, 900);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
nav {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
margin: 0 0 2em 0;
|
|
||||||
padding: 2em 0;
|
|
||||||
|
|
||||||
a {
|
|
||||||
transition: 0.1s ease;
|
|
||||||
&:hover {
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#site_title {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
#site_title a {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 10px;
|
|
||||||
color: color(gray, 950);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: $white;
|
|
||||||
}
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 700;
|
|
||||||
letter-spacing: 2px;
|
|
||||||
line-height: 1;
|
|
||||||
text-decoration: none;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
.links a {
|
|
||||||
margin-left: 1em;
|
|
||||||
color: color(gray, 800);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: color(gray, 200);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
ol,
|
|
||||||
ul {
|
|
||||||
padding-left: 2em;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul {
|
|
||||||
list-style: none;
|
|
||||||
|
|
||||||
li {
|
|
||||||
position: relative;
|
|
||||||
margin-bottom: 0.75em;
|
|
||||||
|
|
||||||
&:before {
|
|
||||||
content: '';
|
|
||||||
display: block;
|
|
||||||
position: absolute;
|
|
||||||
left: -1em;
|
|
||||||
top: 0.63em;
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
background: linear-gradient(25deg, color(purple, 500), color(orange, 500));
|
|
||||||
border-radius: 99px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.page_title {
|
|
||||||
margin: 1.5em 0;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
margin: 0.5em 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.posts {
|
|
||||||
list-style: none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.post {
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
flex-flow: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child .content,
|
|
||||||
&.single .content {
|
|
||||||
border-bottom: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.version_wrapper {
|
|
||||||
flex-basis: 260px;
|
|
||||||
@media (max-width: $container) {
|
|
||||||
flex-basis: 140px;
|
|
||||||
}
|
|
||||||
flex-grow: 0;
|
|
||||||
flex-shrink: 0;
|
|
||||||
margin: 4.5em 0 0 0;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
flex-basis: 0;
|
|
||||||
margin-top: 2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.version_info {
|
|
||||||
position: sticky;
|
|
||||||
top: 1em;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
position: relative;
|
|
||||||
top: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
float: left;
|
|
||||||
color: $white;
|
|
||||||
text-decoration: none;
|
|
||||||
transition: 0.1s ease;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.version_number {
|
|
||||||
display: inline-block;
|
|
||||||
font-family: var(--font-source-code);
|
|
||||||
line-height: 1;
|
|
||||||
margin-bottom: 8px;
|
|
||||||
padding: 4px 12px;
|
|
||||||
color: $white;
|
|
||||||
background: linear-gradient(
|
|
||||||
25deg,
|
|
||||||
color(purple, 800),
|
|
||||||
color(purple, 700),
|
|
||||||
mix(color(purple, 500), color(orange, 500)),
|
|
||||||
color(orange, 500)
|
|
||||||
);
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.date {
|
|
||||||
clear: both;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
display: inline;
|
|
||||||
margin-left: 1em;
|
|
||||||
}
|
|
||||||
color: color(gray, 800);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: color(gray, 200);
|
|
||||||
}
|
|
||||||
font-family: var(--font-source-code);
|
|
||||||
font-size: $fontSizeSmall;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content {
|
|
||||||
margin: 0;
|
|
||||||
padding: 4em 0;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
margin: 1em 0;
|
|
||||||
padding: 0 0 2em 0;
|
|
||||||
}
|
|
||||||
border-bottom: 1px solid color(gray, 100);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
border-color: color(gray, 900);
|
|
||||||
}
|
|
||||||
*:first-child {
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
img {
|
|
||||||
max-width: 100%;
|
|
||||||
height: auto;
|
|
||||||
border-radius: 12px;
|
|
||||||
border: 1px solid color(gray, 200);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
border-color: color(gray, 800);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
display: flex;
|
|
||||||
padding: 2em 0;
|
|
||||||
@media (max-width: $tablet) {
|
|
||||||
padding: 1em 0;
|
|
||||||
}
|
|
||||||
color: color(gray, 500);
|
|
||||||
justify-content: space-between;
|
|
||||||
border-top: 1px solid color(gray, 100);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
border-color: color(gray, 900);
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
margin-left: 1em;
|
|
||||||
color: color(gray, 500);
|
|
||||||
text-decoration: none;
|
|
||||||
&:hover {
|
|
||||||
color: color(gray, 500);
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
/* Dark mode colors. */
|
|
||||||
:root {
|
|
||||||
--sl-color-accent-low: #3a0e38;
|
|
||||||
--sl-color-accent: #ae00a8;
|
|
||||||
--sl-color-accent-high: #ebb4e5;
|
|
||||||
--sl-color-white: #ffffff;
|
|
||||||
--sl-color-gray-1: #e8edff;
|
|
||||||
--sl-color-gray-2: #bac1da;
|
|
||||||
--sl-color-gray-3: #7d89b8;
|
|
||||||
--sl-color-gray-4: #4b5580;
|
|
||||||
--sl-color-gray-5: #2c355d;
|
|
||||||
--sl-color-gray-6: #1c2349;
|
|
||||||
--sl-color-black: #131729;
|
|
||||||
}
|
|
||||||
/* Light mode colors. */
|
|
||||||
:root[data-theme='light'] {
|
|
||||||
--sl-color-accent-low: #f1c7ec;
|
|
||||||
--sl-color-accent: #b100ab;
|
|
||||||
--sl-color-accent-high: #550852;
|
|
||||||
--sl-color-white: #131729;
|
|
||||||
--sl-color-gray-1: #1c2349;
|
|
||||||
--sl-color-gray-2: #2c355d;
|
|
||||||
--sl-color-gray-3: #4b5580;
|
|
||||||
--sl-color-gray-4: #7d89b8;
|
|
||||||
--sl-color-gray-5: #bac1da;
|
|
||||||
--sl-color-gray-6: #e8edff;
|
|
||||||
--sl-color-gray-7: #f3f6ff;
|
|
||||||
--sl-color-black: #ffffff;
|
|
||||||
}
|
|
|
@ -1,133 +0,0 @@
|
||||||
$fontSizeSmall: 15px;
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-size: 18px;
|
|
||||||
line-height: 1.65;
|
|
||||||
font-weight: 400;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: color(gray, 200);
|
|
||||||
}
|
|
||||||
color: color(gray, 800);
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
text-rendering: optimizeLegibility;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
h4,
|
|
||||||
h5 {
|
|
||||||
line-height: 1.2;
|
|
||||||
margin: 1em 0 0.5em 0;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: $white;
|
|
||||||
}
|
|
||||||
color: color(gray, 950);
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
font-size: 3.052em;
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
font-size: 2.441em;
|
|
||||||
}
|
|
||||||
h3 {
|
|
||||||
font-size: 1.953em;
|
|
||||||
}
|
|
||||||
h4 {
|
|
||||||
font-size: 1.563em;
|
|
||||||
}
|
|
||||||
h5 {
|
|
||||||
font-size: 1.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
margin: 0 0 1em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
font-family: var(--font-source-code);
|
|
||||||
font-weight: bold;
|
|
||||||
color:rgb(0, 114, 114);
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: rgb(0, 231, 231);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.quickstart {
|
|
||||||
list-style: none inside;
|
|
||||||
margin-top: 4px;
|
|
||||||
font-size: medium;
|
|
||||||
width: flex;
|
|
||||||
color:rgb(82, 82, 82);
|
|
||||||
border: 2px solid #a0a0a0;
|
|
||||||
border-radius: 2rem;
|
|
||||||
background-color: #ffffff;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-top: 0.5rem;
|
|
||||||
padding-bottom: 1rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: rgb(170, 170, 170);
|
|
||||||
border: 2px solid #1f1f1f;
|
|
||||||
background-color: #161616;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.qstart {
|
|
||||||
font-family: var(--font-source-code);
|
|
||||||
font-weight: bold;
|
|
||||||
margin-top: 4px;
|
|
||||||
color:rgb(165, 0, 115);
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: rgb(255, 0, 179);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.install {
|
|
||||||
font-family: var(--font-source-code);
|
|
||||||
font-weight: bold;
|
|
||||||
margin-top: 4px;
|
|
||||||
color:rgb(0, 161, 161);
|
|
||||||
border: 2px solid #a7a7a7;
|
|
||||||
border-radius: 2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
background-color: #eeeeee;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: rgb(0, 231, 231);
|
|
||||||
border: 2px solid #6e6e6e;
|
|
||||||
background-color: #2e2e2e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.comment {
|
|
||||||
font-family: var(--font-source-code);
|
|
||||||
font-weight: bold;
|
|
||||||
margin-top: 4px;
|
|
||||||
color:rgb(102, 102, 102);
|
|
||||||
border: 2px solid #929292;
|
|
||||||
border-radius: 2rem;
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
background-color: #dddddd;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: rgb(170, 170, 170);
|
|
||||||
border: 2px solid #4b4b4b;
|
|
||||||
background-color: #2e2e2e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
b,
|
|
||||||
strong {
|
|
||||||
font-weight: 700;
|
|
||||||
color: #fff;
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
color: $white;
|
|
||||||
}
|
|
||||||
color: color(gray, 950);
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"extends": "astro/tsconfigs/strict",
|
|
||||||
"exclude": ["dist"]
|
|
||||||
}
|
|
Loading…
Reference in New Issue