Skip to content

Commit ff9f2b2

Browse files
authored
Merge pull request #17 from DMiradakis/main
Azure static web app CICD wip
2 parents d45efec + f9c9669 commit ff9f2b2

22 files changed

Lines changed: 22029 additions & 48 deletions

.github/workflows/azure-static-web-apps-polite-ground-0c50eac0f.yml renamed to .github/workflows/publish-docs-to-prod.yml

Lines changed: 47 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,47 @@
1-
name: Azure Static Web Apps CI/CD
2-
3-
on:
4-
push:
5-
branches:
6-
- production
7-
pull_request:
8-
types: [opened, synchronize, reopened, closed]
9-
branches:
10-
- production
11-
12-
jobs:
13-
build_and_deploy_job:
14-
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
15-
runs-on: ubuntu-latest
16-
name: Build and Deploy Job
17-
steps:
18-
- uses: actions/checkout@v3
19-
with:
20-
submodules: true
21-
lfs: false
22-
- name: Build And Deploy
23-
id: builddeploy
24-
uses: Azure/static-web-apps-deploy@v1
25-
with:
26-
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
27-
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
28-
action: "upload"
29-
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
30-
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
31-
app_location: "/docs/" # App source code path
32-
api_location: "" # Api source code path - optional
33-
output_location: ".output/public" # Built app content directory - optional
34-
###### End of Repository/Build Configurations ######
35-
36-
close_pull_request_job:
37-
if: github.event_name == 'pull_request' && github.event.action == 'closed'
38-
runs-on: ubuntu-latest
39-
name: Close Pull Request Job
40-
steps:
41-
- name: Close Pull Request
42-
id: closepullrequest
43-
uses: Azure/static-web-apps-deploy@v1
44-
with:
45-
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
46-
action: "close"
1+
name: Publish docs to prod
2+
3+
on:
4+
push:
5+
branches:
6+
- production
7+
pull_request:
8+
types: [opened, synchronize, reopened, closed]
9+
branches:
10+
- production
11+
12+
jobs:
13+
build_and_deploy_job:
14+
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
15+
runs-on: ubuntu-latest
16+
name: Build and Deploy Job
17+
steps:
18+
- uses: actions/checkout@v3
19+
with:
20+
submodules: true
21+
lfs: false
22+
- name: Build And Deploy
23+
id: builddeploy
24+
uses: Azure/static-web-apps-deploy@v1
25+
with:
26+
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
27+
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
28+
action: "upload"
29+
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
30+
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
31+
app_location: "/docs/" # App source code path
32+
api_location: "" # Api source code path - optional
33+
output_location: ".output/public" # Built app content directory - optional
34+
app_build_command: "npx nuxi generate"
35+
###### End of Repository/Build Configurations ######
36+
37+
close_pull_request_job:
38+
if: github.event_name == 'pull_request' && github.event.action == 'closed'
39+
runs-on: ubuntu-latest
40+
name: Close Pull Request Job
41+
steps:
42+
- name: Close Pull Request
43+
id: closepullrequest
44+
uses: Azure/static-web-apps-deploy@v1
45+
with:
46+
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
47+
action: "close"

docs/.gitignore

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Nuxt dev/build outputs
2+
.output
3+
.data
4+
.nuxt
5+
.nitro
6+
.cache
7+
dist
8+
9+
# Node dependencies
10+
node_modules
11+
12+
# Logs
13+
logs
14+
*.log
15+
16+
# Misc
17+
.DS_Store
18+
.fleet
19+
.idea
20+
.eslintcache
21+
22+
# Local env files
23+
.env
24+
.env.*
25+
!.env.example
26+
27+
# npm pack
28+
*.tgz
29+
30+
# Temp files
31+
.tmp
32+
.profile
33+
*.0x
34+
35+
#VSC
36+
.history
37+
.wrangler

docs/README.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Docus Default Starter
2+
3+
> A beautiful, minimal starter for creating documentation with Docus
4+
5+
This is the default Docus starter template that provides everything you need to build beautiful documentation sites with Markdown and Vue components.
6+
7+
> [!TIP]
8+
> If you're looking for i18n support, check out the [i18n starter](https://github.com/nuxt-themes/docus/tree/main/.starters/i18n).
9+
10+
## ✨ Features
11+
12+
- 🎨 **Beautiful Design** - Clean, modern documentation theme
13+
- 📱 **Responsive** - Mobile-first responsive design
14+
- 🌙 **Dark Mode** - Built-in dark/light mode support
15+
- 🔍 **Search** - Full-text search functionality
16+
- 📝 **Markdown Enhanced** - Extended markdown with custom components
17+
- 🎨 **Customizable** - Easy theming and brand customization
18+
-**Fast** - Optimized for performance with Nuxt 4
19+
- 🔧 **TypeScript** - Full TypeScript support
20+
21+
## 🚀 Quick Start
22+
23+
```bash
24+
# Install dependencies
25+
npm install
26+
27+
# Start development server
28+
npm run dev
29+
```
30+
31+
Your documentation site will be running at `http://localhost:3000`
32+
33+
## 📁 Project Structure
34+
35+
```
36+
my-docs/
37+
├── content/ # Your markdown content
38+
│ ├── index.md # Homepage
39+
│ ├── 1.getting-started/ # Getting started section
40+
│ └── 2.essentials/ # Essential documentation
41+
├── public/ # Static assets
42+
└── package.json # Dependencies and scripts
43+
```
44+
45+
## ⚡ Built with
46+
47+
This starter comes pre-configured with:
48+
49+
- [Nuxt 4](https://nuxt.com) - The web framework
50+
- [Nuxt Content](https://content.nuxt.com/) - File-based CMS
51+
- [Nuxt UI](https://ui.nuxt.com) - UI components
52+
- [Nuxt Image](https://image.nuxt.com/) - Optimized images
53+
- [Tailwind CSS 4](https://tailwindcss.com/) - Utility-first CSS
54+
- [Docus Layer](https://www.npmjs.com/package/docus) - Documentation theme
55+
56+
## 📖 Documentation
57+
58+
For detailed documentation on customizing your Docus project, visit the [Docus Documentation](https://docus.dev)
59+
60+
## 🚀 Deployment
61+
62+
Build for production:
63+
64+
```bash
65+
npm run build
66+
```
67+
68+
The built files will be in the `.output` directory, ready for deployment to any hosting provider that supports Node.js.
69+
70+
## 📄 License
71+
72+
[MIT License](https://opensource.org/licenses/MIT)
73+
74+
## Notes to self
75+
76+
I had to make a custom OgImage component to apply my custom orange theme to the auto-generated og images. I cannot currently pass in CSS vars from Nuxt UI or Tailwind into the OgImage module, so I had to hard code a color that works for me.

docs/app/app.config.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
export default defineAppConfig({
2+
docus: {
3+
locale: 'en', // Set your single-language locale
4+
},
5+
seo: {
6+
title: 'My Docs',
7+
description: 'My awesome documentation',
8+
},
9+
ui: {
10+
colors: {
11+
primary: 'orange'
12+
}
13+
},
14+
socials: {
15+
x: 'https://x.com/dmiradev'
16+
}
17+
})
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<script lang="ts" setup>
2+
import { computed } from 'vue'
3+
4+
const props = withDefaults(defineProps<{ title?: string, description?: string, headline?: string }>(), {
5+
title: 'title',
6+
description: 'description',
7+
})
8+
9+
const title = computed(() => (props.title || '').slice(0, 60))
10+
const description = computed(() => (props.description || '').slice(0, 200))
11+
</script>
12+
13+
<template>
14+
<div class="w-full h-full flex flex-col justify-center bg-neutral-900">
15+
<svg
16+
class="absolute right-0 top-0 opacity-50"
17+
width="629"
18+
height="593"
19+
viewBox="0 0 629 593"
20+
fill="none"
21+
xmlns="http://www.w3.org/2000/svg"
22+
>
23+
<g filter="url(#filter0_f_199_94966)">
24+
<path
25+
d="M628.5 -578L639.334 -94.4223L806.598 -548.281L659.827 -87.387L965.396 -462.344L676.925 -74.0787L1087.69 -329.501L688.776 -55.9396L1160.22 -164.149L694.095 -34.9354L1175.13 15.7948L692.306 -13.3422L1130.8 190.83L683.602 6.50012L1032.04 341.989L668.927 22.4412L889.557 452.891L649.872 32.7537L718.78 511.519L628.5 36.32L538.22 511.519L607.128 32.7537L367.443 452.891L588.073 22.4412L224.955 341.989L573.398 6.50012L126.198 190.83L564.694 -13.3422L81.8734 15.7948L562.905 -34.9354L96.7839 -164.149L568.224 -55.9396L169.314 -329.501L580.075 -74.0787L291.604 -462.344L597.173 -87.387L450.402 -548.281L617.666 -94.4223L628.5 -578Z"
26+
fill="white"
27+
/>
28+
</g>
29+
<defs>
30+
<filter
31+
id="filter0_f_199_94966"
32+
x="0.873535"
33+
y="-659"
34+
width="1255.25"
35+
height="1251.52"
36+
filterUnits="userSpaceOnUse"
37+
color-interpolation-filters="sRGB"
38+
>
39+
<feFlood
40+
flood-opacity="0"
41+
result="BackgroundImageFix"
42+
/>
43+
<feBlend
44+
mode="normal"
45+
in="SourceGraphic"
46+
in2="BackgroundImageFix"
47+
result="shape"
48+
/>
49+
<feGaussianBlur
50+
stdDeviation="40.5"
51+
result="effect1_foregroundBlur_199_94966"
52+
/>
53+
</filter>
54+
</defs>
55+
</svg>
56+
57+
<div class="pl-[100px]">
58+
<p
59+
v-if="headline"
60+
class="uppercase text-[24px] text-orange-500 mb-4 font-semibold"
61+
>
62+
{{ headline }}
63+
</p>
64+
<h1
65+
v-if="title"
66+
class="m-0 text-[75px] font-semibold mb-4 text-white flex items-center"
67+
>
68+
<span>{{ title }}</span>
69+
</h1>
70+
<p
71+
v-if="description"
72+
class="text-[32px] text-neutral-300 leading-tight w-[700px]"
73+
>
74+
{{ description }}
75+
</p>
76+
</div>
77+
</div>
78+
</template>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
title: Getting Started
2+
icon: false
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
title: Introduction
3+
description: Welcome to the Resolver documentation.
4+
navigation:
5+
icon: i-lucide-house
6+
seo:
7+
title: Introduction
8+
description: Learn about the Resolver CLI and how it helps your content creation workflow.
9+
---
10+
11+
## What is Resolver?
12+
13+
Welcome to **Resolver**, a small, cross-platform CLI utility tool for content creation assistance with Da Vinci Resolve.
14+
15+
## Why build Resolver?
16+
17+
As a [bootstrapped solopreneur and startup founder](https://www.solopreneur.sh), I have begun realizing the value of content creation to market both myself and the apps that I build. Knowing very little about video editing, I stumbled across the Da Vinci Resolve video editing software to help me create videos for social media and app promotion.
18+
19+
I'm quite a fan of Da Vinci Resolve, but I noticed that my workflow with it has a great deal of inefficiencies. In particular, I am not a fan of the way that Da Vinci Resolve assumes you setup and manage projects through a local database storage. As a developer, I'm used to the "developer way" of doing things where you have separate git repos for separate projects and each project is nice and self-contained; think of a dotnet app with `.csproj` files or a NodeJS app.
20+
21+
This is somewhat possible to do with Da Vince Resolve, but it's tedious and rather annoying to execute for project after project. Da Vinci Resolve wasn't quite setup with this idea in mind, so Resolver is my attempt to give it a more "developer-friendly" workflow.
22+
23+
## Key Features
24+
25+
Resolver can assist with several annoyances in content creation with Da Vinci Resolve:
26+
27+
- Quickly scaffold a new project.
28+
- Quickly export render artifacts from inside a project to a central export/publish folder.
29+
- Quickly archive (zip and compress) a project and store the zip in a central archive folder.
30+
- Setup config file for easy target defaults (makes commands quick and easy).
31+
- Config file provides multiple **profiles** so you can switch content creation from one profile/personna to another.

0 commit comments

Comments
 (0)