Skip to content

Commit

Permalink
chore: major overhaul w/seo stuff and managed build
Browse files Browse the repository at this point in the history
  • Loading branch information
victorfrye authored Feb 1, 2024
1 parent 047c894 commit f02c8fc
Show file tree
Hide file tree
Showing 24 changed files with 221 additions and 90 deletions.
55 changes: 27 additions & 28 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -257,63 +257,63 @@ dotnet_naming_rule.non_field_members_should_be_pascalcase.style = pascalcase

dotnet_naming_symbols.interfaces.applicable_kinds = interface
dotnet_naming_symbols.interfaces.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interfaces.required_modifiers =
dotnet_naming_symbols.interfaces.required_modifiers =

dotnet_naming_symbols.enums.applicable_kinds = enum
dotnet_naming_symbols.enums.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.enums.required_modifiers =
dotnet_naming_symbols.enums.required_modifiers =

dotnet_naming_symbols.events.applicable_kinds = event
dotnet_naming_symbols.events.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.events.required_modifiers =
dotnet_naming_symbols.events.required_modifiers =

dotnet_naming_symbols.methods.applicable_kinds = method
dotnet_naming_symbols.methods.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.methods.required_modifiers =
dotnet_naming_symbols.methods.required_modifiers =

dotnet_naming_symbols.properties.applicable_kinds = property
dotnet_naming_symbols.properties.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.properties.required_modifiers =
dotnet_naming_symbols.properties.required_modifiers =

dotnet_naming_symbols.public_fields.applicable_kinds = field
dotnet_naming_symbols.public_fields.applicable_accessibilities = public, internal
dotnet_naming_symbols.public_fields.required_modifiers =
dotnet_naming_symbols.public_fields.required_modifiers =

dotnet_naming_symbols.private_fields.applicable_kinds = field
dotnet_naming_symbols.private_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.private_fields.required_modifiers =
dotnet_naming_symbols.private_fields.required_modifiers =

dotnet_naming_symbols.private_static_fields.applicable_kinds = field
dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.private_static_fields.required_modifiers = static

dotnet_naming_symbols.types_and_namespaces.applicable_kinds = namespace, class, struct, interface, enum
dotnet_naming_symbols.types_and_namespaces.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types_and_namespaces.required_modifiers =
dotnet_naming_symbols.types_and_namespaces.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =
dotnet_naming_symbols.non_field_members.required_modifiers =

dotnet_naming_symbols.type_parameters.applicable_kinds = namespace
dotnet_naming_symbols.type_parameters.applicable_accessibilities = *
dotnet_naming_symbols.type_parameters.required_modifiers =
dotnet_naming_symbols.type_parameters.required_modifiers =

dotnet_naming_symbols.private_constant_fields.applicable_kinds = field
dotnet_naming_symbols.private_constant_fields.applicable_accessibilities = private, protected, protected_internal, private_protected
dotnet_naming_symbols.private_constant_fields.required_modifiers = const

dotnet_naming_symbols.local_variables.applicable_kinds = local
dotnet_naming_symbols.local_variables.applicable_accessibilities = local
dotnet_naming_symbols.local_variables.required_modifiers =
dotnet_naming_symbols.local_variables.required_modifiers =

dotnet_naming_symbols.local_constants.applicable_kinds = local
dotnet_naming_symbols.local_constants.applicable_accessibilities = local
dotnet_naming_symbols.local_constants.required_modifiers = const

dotnet_naming_symbols.parameters.applicable_kinds = parameter
dotnet_naming_symbols.parameters.applicable_accessibilities = *
dotnet_naming_symbols.parameters.required_modifiers =
dotnet_naming_symbols.parameters.required_modifiers =

dotnet_naming_symbols.public_constant_fields.applicable_kinds = field
dotnet_naming_symbols.public_constant_fields.applicable_accessibilities = public, internal
Expand All @@ -329,37 +329,36 @@ dotnet_naming_symbols.private_static_readonly_fields.required_modifiers = readon

dotnet_naming_symbols.local_functions.applicable_kinds = local_function
dotnet_naming_symbols.local_functions.applicable_accessibilities = *
dotnet_naming_symbols.local_functions.required_modifiers =
dotnet_naming_symbols.local_functions.required_modifiers =

# Naming styles

dotnet_naming_style.pascalcase.required_prefix =
dotnet_naming_style.pascalcase.required_suffix =
dotnet_naming_style.pascalcase.word_separator =
dotnet_naming_style.pascalcase.required_prefix =
dotnet_naming_style.pascalcase.required_suffix =
dotnet_naming_style.pascalcase.word_separator =
dotnet_naming_style.pascalcase.capitalization = pascal_case

dotnet_naming_style.ipascalcase.required_prefix = I
dotnet_naming_style.ipascalcase.required_suffix =
dotnet_naming_style.ipascalcase.word_separator =
dotnet_naming_style.ipascalcase.required_suffix =
dotnet_naming_style.ipascalcase.word_separator =
dotnet_naming_style.ipascalcase.capitalization = pascal_case

dotnet_naming_style.tpascalcase.required_prefix = T
dotnet_naming_style.tpascalcase.required_suffix =
dotnet_naming_style.tpascalcase.word_separator =
dotnet_naming_style.tpascalcase.required_suffix =
dotnet_naming_style.tpascalcase.word_separator =
dotnet_naming_style.tpascalcase.capitalization = pascal_case

dotnet_naming_style._camelcase.required_prefix = _
dotnet_naming_style._camelcase.required_suffix =
dotnet_naming_style._camelcase.word_separator =
dotnet_naming_style._camelcase.required_suffix =
dotnet_naming_style._camelcase.word_separator =
dotnet_naming_style._camelcase.capitalization = camel_case

dotnet_naming_style.camelcase.required_prefix =
dotnet_naming_style.camelcase.required_suffix =
dotnet_naming_style.camelcase.word_separator =
dotnet_naming_style.camelcase.required_prefix =
dotnet_naming_style.camelcase.required_suffix =
dotnet_naming_style.camelcase.word_separator =
dotnet_naming_style.camelcase.capitalization = camel_case

dotnet_naming_style.s_camelcase.required_prefix = s_
dotnet_naming_style.s_camelcase.required_suffix =
dotnet_naming_style.s_camelcase.word_separator =
dotnet_naming_style.s_camelcase.required_suffix =
dotnet_naming_style.s_camelcase.word_separator =
dotnet_naming_style.s_camelcase.capitalization = camel_case

5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,13 @@

# CSharp
*.cs text diff=csharp
*.cs text eol=crlf
*.cshtml text diff=html
*.cshtml text eol=crlf
*.csx text diff=csharp
*.csx text eol=crlf
*.razor text diff=html
*.razor text eol=crlf
*.sln text eol=crlf
*.csproj text eol=crlf

Expand Down
24 changes: 24 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
# Maintain dependencies for Nuget
- package-ecosystem: "nuget"
directory: "/"
schedule:
interval: "weekly"

# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

# Maintain dependencies for Dev Containers
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: "weekly"
47 changes: 35 additions & 12 deletions .github/workflows/azure-swa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,64 @@ name: Azure Static Web Apps CI/CD

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

env:
DOTNET_VERSION: '8.x'
APP_PROJECT_FILE: 'src/Client/Client.csproj'
APP_OUTPUT_LOCATION: 'artifacts/client'

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
environment: ${{ github.event_name == 'push' && 'Production' || 'Staging' }}
steps:
- uses: actions/checkout@v3
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
lfs: false
- name: Build And Deploy
id: builddeploy
- name: Set up .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Install WASM build tools
run: dotnet workload install wasm-tools
- name: Restore dependencies
run: dotnet restore
- name: Verify formatting
run: dotnet format --verify-no-changes --no-restore
- name: Build solution
run: dotnet build -c Release --no-restore
- name: Publish app project
run: dotnet publish ${{ env.APP_PROJECT_FILE }} -c Release -o ${{ env.APP_OUTPUT_LOCATION }} --no-restore --no-build
- name: Deploy static web app
id: deploy
uses: Azure/static-web-apps-deploy@v1
env:
SKIP_DEPLOY_ON_MISSING_SECRETS: ${{ github.event_name == 'pull_request' }}
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_SWA_TOKEN }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
action: "upload"
app_location: "src/Client"
output_location: "wwwroot"
action: 'upload'
app_location: '${{ env.APP_OUTPUT_LOCATION }}/wwwroot'
skip_app_build: true
skip_api_build: true

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
- name: Close pull request
id: closepullrequest
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ secrets.AZURE_SWA_TOKEN }}
action: "close"
action: 'close'
app_location: ''
33 changes: 31 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
# DotCom
<div align="center">
<img src="src\Client\wwwroot\images\profile.png" alt="profile of Victor Frye" height="64" width="64" />
<h1>VictorFrye.COM</h1>
<p>A personal portfolio site for your friendly neighborhood technologist, Victor Frye</p>
</div>

🎨 My personal about me website
<div align="center">

[![Azure Static Web Apps CI/CD](https://github.com/victorfrye/dotcom/actions/workflows/azure-swa.yml/badge.svg)](https://github.com/victorfrye/dotcom/actions/workflows/azure-swa.yml)
[![GitHub Issues](https://img.shields.io/github/issues/victorfrye/dotcom)](https://github.com/victorfrye/dotcom/issues)
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](/LICENSE)

</div>

## Technology Stack

<p align="left">
<a href="https://dotnet.microsoft.com/en-us/languages/csharp" target="_blank" rel="noreferrer" style="text-decoration: none;">
<img src="https://raw.githubusercontent.com/victorfrye/victorfrye/main/images/csharp.svg" width="36" height="36" alt="C#" />
</a>
<a href="https://dotnet.microsoft.com/en-us/" target="_blank" rel="noreferrer" style="text-decoration: none;">
<img src="https://raw.githubusercontent.com/victorfrye/victorfrye/main/images/dotnet.svg" width="36" height="36" alt=".NET" />
</a>
<a href="https://getbootstrap.com/" target="_blank" rel="noreferrer" style="text-decoration: none;">
<img src="https://raw.githubusercontent.com/victorfrye/victorfrye/main/images/bootstrap.svg" width="36" height="36" alt="Bootstrap" />
</a>
<a href="https://azure.microsoft.com/en-us/" target="_blank" rel="noreferrer" style="text-decoration: none;">
<img src="https://raw.githubusercontent.com/victorfrye/victorfrye/main/images/azure.svg" width="36" height="36" alt="Azure" />
</a>
</p>

VictorFrye.COM is a static web application built utilizing .NET Blazor WASM and Bootstrap. The application is hosted on Azure as a Static Web App.
3 changes: 1 addition & 2 deletions src/Client/App.razor
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
<Router AppAssembly="@typeof(App).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
<FocusOnNavigate RouteData="@routeData" Selector="h1" />
</Found>
<NotFound>
<PageTitle>Not found</PageTitle>
<LayoutView Layout="@typeof(MainLayout)">
<p role="alert">Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
</Router>
6 changes: 3 additions & 3 deletions src/Client/Client.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<ImplicitUsings>enable</ImplicitUsings>

<Title>VictorFrye.com</Title>
<Description>🎨 My personal about me website</Description>
<Description>🎨 A personal portfolio site for your friendly neighborhood technologist, Victor Frye</Description>
<Authors>VictorFrye</Authors>
<RepositoryUrl>https://github.com/victorfrye/dotcom</RepositoryUrl>

Expand All @@ -29,8 +29,8 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.1" />
</ItemGroup>

</Project>
8 changes: 4 additions & 4 deletions src/Client/Components/Content/About.razor
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<section id="about">
<div class="d-flex flex-wrap">
<h5 class="text-primary pt-3 pb-2">_About</h5>
<h2 class="text-primary pt-3 pb-2">_About</h2>

<p>
Hello from Grand Rapids! <strong>I'm Victor, a software engineer powered by coffee</strong>.
Hello from Grand Rapids! <b>I'm Victor, a software engineer powered by coffee</b>.
With @GetYearsOfExperience() years of professional experience, I've worked with a variety of technologies and platforms.
My current focuses are the <strong>.NET</strong> ecosystem, <strong>Azure</strong> cloud services, and <strong>DevOps</strong> automation.
</p>
Expand All @@ -14,8 +14,8 @@
<p>
I'm currently working as a <strong>Senior Software Engineer at <a href="https://leadingedje.com/" target="_blank">Leading EDJE</a></strong>,
a software consultancy based in Columbus, Ohio.
In my downtime, I enjoy <strong>gaming</strong>, <strong>reading</strong>, and quality time with <strong>my
wife and our two dogs</strong>.
In my downtime, I enjoy <b>gaming</b>, <b>reading</b>, and quality time with <b>my
wife and our two dogs</b>.
</p>
</div>
</section>
Expand Down
43 changes: 28 additions & 15 deletions src/Client/Components/Content/Connect.razor
Original file line number Diff line number Diff line change
@@ -1,20 +1,33 @@
<section id="connect">
<div class="d-flex flex-column flex-wrap">
<h5 class="text-primary pt-3 pb-2">_Connect</h5>
<h2 class="text-primary pt-3 pb-2">_Connect</h2>

<div class="d-socials d-flex flex-row flex-wrap">
<a href="https://threads.net/@@thevictorfryeadventure" target="_blank" class="btn-link btn-social px-2">
<img src="/images/threads.svg" alt="Threads" class="img-social" />
</a>
<a href="https://linkedin.com/in/victorfrye" target="_blank" class="btn-link btn-social px-2">
<img src="/images/linkedin.svg" alt="LinkedIn" class="img-social" />
</a>
<a href="https://github.com/victorfrye" target="_blank" class="btn-link btn-social px-2">
<img src="/images/github.svg" alt="GitHub" class="img-social" />
</a>
<a href="mailto:victorfrye@outlook.com" target="_blank" class="btn-link btn-social px-2">
<img src="/images/envelope.svg" alt="Email Me" class="img-social" />
</a>
</div>
<SocialButtons Socials=@_socials />
</div>
</section>

@code {
private List<Social> _socials =
[
new(
name: "Threads",
userUrl: "https://threads.net/@thevictorfryeadventure",
iconUrl: "/images/threads.svg"
),
new(
name: "LinkedIn",
userUrl: "https://linkedin.com/in/victorfrye",
iconUrl: "/images/linkedin.svg"
),
new(
name: "GitHub",
userUrl: "https://github.com/victorfrye",
iconUrl: "/images/github.svg"
),
new(
name: "Email",
userUrl: "mailto:victorfrye@outlook.com",
iconUrl: "/images/envelope.svg"
)
];
}
Loading

0 comments on commit f02c8fc

Please sign in to comment.