Brand identity: true-vector icon, standard Windows icon set, window + splash + About branding (beta.14) #37
No files matched your search
@@ -102,7 +102,7 @@ jobs:
|
||||
vpk download github --repoUrl $env:REPO_URL --token $env:GITHUB_TOKEN --channel ${{ steps.version.outputs.channel }} @preFlag
|
||||
|
||||
- name: Velopack pack
|
||||
run: vpk pack --packId gclo --packVersion ${{ steps.version.outputs.version }} --packDir publish/app --mainExe gclo.exe --channel ${{ steps.version.outputs.channel }}
|
||||
run: vpk pack --packId gclo --packVersion ${{ steps.version.outputs.version }} --packDir publish/app --mainExe gclo.exe --channel ${{ steps.version.outputs.channel }} --icon gclo/Assets/Brand/gclo.ico
|
||||
|
||||
# This repo has immutable releases: assets freeze the moment a release is
|
||||
# PUBLISHED. So vpk creates a DRAFT (no --publish), every asset and the
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
# gclo — Git Clone Large Organizations
|
||||
<p align="center">
|
||||
<img src="docs/images/gclo-lockup.png" width="440" alt="gclo — Git Clone Large Organizations" />
|
||||
</p>
|
||||
|
||||
**Clone an entire GitHub organization. Keep it up to date. In parallel.**
|
||||
<p align="center"><b>Clone an entire GitHub organization. Keep it up to date. In parallel.</b></p>
|
||||
|
||||
[](LICENSE)
|
||||
[](https://github.com/KofTwentyTwo/gclo)
|
||||
[](https://dotnet.microsoft.com/)
|
||||
<p align="center">
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License: MIT" /></a>
|
||||
<a href="https://github.com/KofTwentyTwo/gclo"><img src="https://img.shields.io/badge/platform-Windows%2011-blue" alt="Platform: Windows 11" /></a>
|
||||
<a href="https://dotnet.microsoft.com/"><img src="https://img.shields.io/badge/.NET-10-blueviolet" alt=".NET 10" /></a>
|
||||
</p>
|
||||
|
||||
**gclo** (**G**it **C**lone **L**arge **O**rganizations) mirrors every repository of a GitHub organization or user account into a local folder in one pass: it clones the repositories that are missing and fast-forwards the ones that already exist, with live per-repo progress and bounded parallelism. It ships as a Windows 11 desktop app (WinUI 3) and a scriptable CLI built on the same engine.
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 228 KiB |
@@ -8,6 +8,7 @@
|
||||
<AssemblyName>gclo</AssemblyName>
|
||||
<RootNamespace>gclo.Cli</RootNamespace>
|
||||
<InvariantGlobalization>true</InvariantGlobalization>
|
||||
<ApplicationIcon>..\gclo\Assets\Brand\gclo.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<ScrollViewer MaxHeight="460" VerticalScrollBarVisibility="Auto">
|
||||
<StackPanel Spacing="12" Padding="0,0,12,0">
|
||||
|
||||
<!-- Brand header: the splash's look in miniature (same gradient, glyph,
|
||||
<!-- Brand header: the splash's look in miniature (same gradient, icon,
|
||||
wordmark, and white type — deliberately single-theme, like the splash). -->
|
||||
<Border CornerRadius="8" RequestedTheme="Dark">
|
||||
<Border.Background>
|
||||
@@ -24,11 +24,14 @@
|
||||
</Border.Background>
|
||||
<StackPanel Padding="20,16" Spacing="4">
|
||||
<StackPanel Orientation="Horizontal" Spacing="12">
|
||||
<FontIcon
|
||||
Glyph=""
|
||||
FontSize="28"
|
||||
Foreground="White"
|
||||
VerticalAlignment="Center" />
|
||||
<Image
|
||||
Width="40"
|
||||
Height="40"
|
||||
VerticalAlignment="Center">
|
||||
<Image.Source>
|
||||
<SvgImageSource UriSource="ms-appx:///Assets/Brand/gclo-icon.svg" />
|
||||
</Image.Source>
|
||||
</Image>
|
||||
<TextBlock
|
||||
Text="gclo"
|
||||
FontFamily="Segoe UI Variable Display"
|
||||
@@ -66,7 +69,7 @@
|
||||
<TextBlock TextWrapping="Wrap">
|
||||
gclo is open source, released under the MIT License.
|
||||
</TextBlock>
|
||||
<TextBlock Text="Copyright (c) 2026 James Maes" />
|
||||
<TextBlock Text="Copyright (c) 2026 James Maes <james@kof22.com>" />
|
||||
<TextBlock
|
||||
TextWrapping="Wrap"
|
||||
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
|
||||
<!-- gclo mark, rebuilt as true vector (the original brand export was a raster).
|
||||
Transparent outside the rounded tile so the host background shows through. -->
|
||||
<defs>
|
||||
<linearGradient id="tile" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop offset="0" stop-color="#1A2B4D" />
|
||||
<stop offset="1" stop-color="#0C1836" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<rect x="48" y="44" width="416" height="416" rx="104" fill="url(#tile)" />
|
||||
|
||||
<!-- Three descending chevrons: rounded, white, centered on x=256. -->
|
||||
<g fill="none" stroke="#FDFDFD" stroke-width="34" stroke-linecap="round" stroke-linejoin="round">
|
||||
<polyline points="172,114 256,168 340,114" />
|
||||
<polyline points="172,180 256,234 340,180" />
|
||||
<polyline points="172,246 256,300 340,246" />
|
||||
</g>
|
||||
|
||||
<!-- 2x3 grid of rounded squares the chevrons flow into. -->
|
||||
<g fill="#FDFDFD">
|
||||
<rect x="184" y="330" width="40" height="40" rx="12" />
|
||||
<rect x="236" y="330" width="40" height="40" rx="12" />
|
||||
<rect x="288" y="330" width="40" height="40" rx="12" />
|
||||
<rect x="184" y="382" width="40" height="40" rx="12" />
|
||||
<rect x="236" y="382" width="40" height="40" rx="12" />
|
||||
<rect x="288" y="382" width="40" height="40" rx="12" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 997 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 593 B |
|
After Width: | Height: | Size: 593 B |
|
After Width: | Height: | Size: 997 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 997 B |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 23 KiB |
@@ -99,6 +99,9 @@ namespace gclo
|
||||
double scale = GetDpiForWindow(hwnd) / 96.0;
|
||||
AppWindow.Resize(new Windows.Graphics.SizeInt32((int)(1000 * scale), (int)(750 * scale)));
|
||||
|
||||
// The brand icon in the title bar (and alt-tab / taskbar for unpackaged runs).
|
||||
AppWindow.SetIcon(System.IO.Path.Combine(AppContext.BaseDirectory, "Assets", "Brand", "gclo.ico"));
|
||||
|
||||
// Keep the window from shrinking below a usable workspace layout.
|
||||
// PreferredMinimum* takes physical pixels like Resize (WinAppSDK 1.7+,
|
||||
// present in the installed SDK). If a future SDK removes these
|
||||
|
||||
@@ -38,12 +38,17 @@
|
||||
<StackPanel
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
<FontIcon
|
||||
Glyph=""
|
||||
FontSize="56"
|
||||
Foreground="White"
|
||||
<!-- True-vector mark (SvgImageSource): crisp at any scale, transparent
|
||||
background so the gradient shows through the rounded corners. -->
|
||||
<Image
|
||||
Width="96"
|
||||
Height="96"
|
||||
HorizontalAlignment="Center"
|
||||
Margin="0,0,0,16" />
|
||||
Margin="0,0,0,16">
|
||||
<Image.Source>
|
||||
<SvgImageSource UriSource="ms-appx:///Assets/Brand/gclo-icon.svg" />
|
||||
</Image.Source>
|
||||
</Image>
|
||||
<TextBlock
|
||||
Text="gclo"
|
||||
FontFamily="Segoe UI Variable Display"
|
||||
@@ -67,6 +72,28 @@
|
||||
Margin="0,8,0,0" />
|
||||
</StackPanel>
|
||||
|
||||
<!-- Author credit, anchored above the activity strip: name on its own line,
|
||||
then the contact links on one dot-separated line. -->
|
||||
<StackPanel
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Bottom"
|
||||
Margin="0,0,0,44"
|
||||
Spacing="3">
|
||||
<TextBlock
|
||||
Text="Created by James Maes"
|
||||
FontSize="13"
|
||||
FontWeight="SemiBold"
|
||||
Foreground="White"
|
||||
Opacity="0.85"
|
||||
HorizontalAlignment="Center" />
|
||||
<TextBlock
|
||||
Text="james@kof22.com · github.com/KofTwentyTwo · kof22.com"
|
||||
FontSize="12"
|
||||
Foreground="White"
|
||||
Opacity="0.6"
|
||||
HorizontalAlignment="Center" />
|
||||
</StackPanel>
|
||||
|
||||
<!-- Thin activity strip: white bar over a 20% white track; the track-height
|
||||
resource is overridden so the track matches the 3px bar. -->
|
||||
<ProgressBar
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
||||
<RootNamespace>gclo</RootNamespace>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
<ApplicationIcon>Assets\Brand\gclo.ico</ApplicationIcon>
|
||||
<Platforms>x86;x64;ARM64</Platforms>
|
||||
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
|
||||
<PublishProfile>win-$(Platform).pubxml</PublishProfile>
|
||||
@@ -17,13 +18,12 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Content Include="Assets\SplashScreen.scale-200.png" />
|
||||
<Content Include="Assets\LockScreenLogo.scale-200.png" />
|
||||
<Content Include="Assets\Square150x150Logo.scale-200.png" />
|
||||
<Content Include="Assets\Square44x44Logo.scale-200.png" />
|
||||
<Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
||||
<Content Include="Assets\StoreLogo.png" />
|
||||
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
|
||||
<!-- MSIX tile assets: the full standard scale/targetsize set (transparent PNGs). -->
|
||||
<Content Include="Assets\**\*.png" />
|
||||
<!-- True-vector mark: the window title-bar icon (.ico) and the SVG the in-window
|
||||
splash and About dialog render via SvgImageSource. -->
|
||||
<Content Include="Assets\Brand\gclo-icon.svg" />
|
||||
<Content Include="Assets\Brand\gclo.ico" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||