Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,46 +1,47 @@
name: Azure Static Web Apps CI/CD

on:
push:
branches:
- production
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- production

jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v3
with:
submodules: true
lfs: false
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/docs/" # App source code path
api_location: "" # Api source code path - optional
output_location: ".output/public" # Built app content directory - optional
###### End of Repository/Build Configurations ######

close_pull_request_job:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
action: "close"
name: Publish docs to prod

on:
push:
branches:
- production
pull_request:
types: [opened, synchronize, reopened, closed]
branches:
- production

jobs:
build_and_deploy_job:
if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
runs-on: ubuntu-latest
name: Build and Deploy Job
steps:
- uses: actions/checkout@v3
with:
submodules: true
lfs: false
- name: Build And Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
action: "upload"
###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
app_location: "/docs/" # App source code path
api_location: "" # Api source code path - optional
output_location: ".output/public" # Built app content directory - optional
app_build_command: "npx nuxi generate"
###### End of Repository/Build Configurations ######

close_pull_request_job:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
runs-on: ubuntu-latest
name: Close Pull Request Job
steps:
- name: Close Pull Request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_POLITE_GROUND_0C50EAC0F }}
action: "close"
37 changes: 37 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Nuxt dev/build outputs
.output
.data
.nuxt
.nitro
.cache
dist

# Node dependencies
node_modules

# Logs
logs
*.log

# Misc
.DS_Store
.fleet
.idea
.eslintcache

# Local env files
.env
.env.*
!.env.example

# npm pack
*.tgz

# Temp files
.tmp
.profile
*.0x

#VSC
.history
.wrangler
76 changes: 76 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Docus Default Starter

> A beautiful, minimal starter for creating documentation with Docus

This is the default Docus starter template that provides everything you need to build beautiful documentation sites with Markdown and Vue components.

> [!TIP]
> If you're looking for i18n support, check out the [i18n starter](https://github.com/nuxt-themes/docus/tree/main/.starters/i18n).

## ✨ Features

- 🎨 **Beautiful Design** - Clean, modern documentation theme
- 📱 **Responsive** - Mobile-first responsive design
- 🌙 **Dark Mode** - Built-in dark/light mode support
- 🔍 **Search** - Full-text search functionality
- 📝 **Markdown Enhanced** - Extended markdown with custom components
- 🎨 **Customizable** - Easy theming and brand customization
- ⚡ **Fast** - Optimized for performance with Nuxt 4
- 🔧 **TypeScript** - Full TypeScript support

## 🚀 Quick Start

```bash
# Install dependencies
npm install

# Start development server
npm run dev
```

Your documentation site will be running at `http://localhost:3000`

## 📁 Project Structure

```
my-docs/
├── content/ # Your markdown content
│ ├── index.md # Homepage
│ ├── 1.getting-started/ # Getting started section
│ └── 2.essentials/ # Essential documentation
├── public/ # Static assets
└── package.json # Dependencies and scripts
```

## ⚡ Built with

This starter comes pre-configured with:

- [Nuxt 4](https://nuxt.com) - The web framework
- [Nuxt Content](https://content.nuxt.com/) - File-based CMS
- [Nuxt UI](https://ui.nuxt.com) - UI components
- [Nuxt Image](https://image.nuxt.com/) - Optimized images
- [Tailwind CSS 4](https://tailwindcss.com/) - Utility-first CSS
- [Docus Layer](https://www.npmjs.com/package/docus) - Documentation theme

## 📖 Documentation

For detailed documentation on customizing your Docus project, visit the [Docus Documentation](https://docus.dev)

## 🚀 Deployment

Build for production:

```bash
npm run build
```

The built files will be in the `.output` directory, ready for deployment to any hosting provider that supports Node.js.

## 📄 License

[MIT License](https://opensource.org/licenses/MIT)

## Notes to self

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.
17 changes: 17 additions & 0 deletions docs/app/app.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
export default defineAppConfig({
docus: {
locale: 'en', // Set your single-language locale
},
seo: {
title: 'My Docs',
description: 'My awesome documentation',
},
ui: {
colors: {
primary: 'orange'
}
},
socials: {
x: 'https://x.com/dmiradev'
}
})
78 changes: 78 additions & 0 deletions docs/app/components/OgImage/OgImageDocs.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<script lang="ts" setup>
import { computed } from 'vue'

const props = withDefaults(defineProps<{ title?: string, description?: string, headline?: string }>(), {
title: 'title',
description: 'description',
})

const title = computed(() => (props.title || '').slice(0, 60))
const description = computed(() => (props.description || '').slice(0, 200))
</script>

<template>
<div class="w-full h-full flex flex-col justify-center bg-neutral-900">
<svg
class="absolute right-0 top-0 opacity-50"
width="629"
height="593"
viewBox="0 0 629 593"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g filter="url(#filter0_f_199_94966)">
<path
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"
fill="white"
/>
</g>
<defs>
<filter
id="filter0_f_199_94966"
x="0.873535"
y="-659"
width="1255.25"
height="1251.52"
filterUnits="userSpaceOnUse"
color-interpolation-filters="sRGB"
>
<feFlood
flood-opacity="0"
result="BackgroundImageFix"
/>
<feBlend
mode="normal"
in="SourceGraphic"
in2="BackgroundImageFix"
result="shape"
/>
<feGaussianBlur
stdDeviation="40.5"
result="effect1_foregroundBlur_199_94966"
/>
</filter>
</defs>
</svg>

<div class="pl-[100px]">
<p
v-if="headline"
class="uppercase text-[24px] text-orange-500 mb-4 font-semibold"
>
{{ headline }}
</p>
<h1
v-if="title"
class="m-0 text-[75px] font-semibold mb-4 text-white flex items-center"
>
<span>{{ title }}</span>
</h1>
<p
v-if="description"
class="text-[32px] text-neutral-300 leading-tight w-[700px]"
>
{{ description }}
</p>
</div>
</div>
</template>
2 changes: 2 additions & 0 deletions docs/content/1.getting-started/.navigation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
title: Getting Started
icon: false
31 changes: 31 additions & 0 deletions docs/content/1.getting-started/2.introduction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: Introduction
description: Welcome to the Resolver documentation.
navigation:
icon: i-lucide-house
seo:
title: Introduction
description: Learn about the Resolver CLI and how it helps your content creation workflow.
---

## What is Resolver?

Welcome to **Resolver**, a small, cross-platform CLI utility tool for content creation assistance with Da Vinci Resolve.

## Why build Resolver?

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.

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.

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.

## Key Features

Resolver can assist with several annoyances in content creation with Da Vinci Resolve:

- Quickly scaffold a new project.
- Quickly export render artifacts from inside a project to a central export/publish folder.
- Quickly archive (zip and compress) a project and store the zip in a central archive folder.
- Setup config file for easy target defaults (makes commands quick and easy).
- Config file provides multiple **profiles** so you can switch content creation from one profile/personna to another.
Loading