Skip to content
Draft
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
44 changes: 44 additions & 0 deletions .github/workflows/deploy-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Deploy static assets to GitHub Pages

on:
# Deploy on every push to the default branch
push:
branches:
- main
# Allow manual runs from the Actions tab
workflow_dispatch:

# Grant the token the permissions Pages deployment needs
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, and don't cancel an
# in-progress run (let it finish so a deploy is never left half-done).
concurrency:
group: pages
cancel-in-progress: false

jobs:
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload site artifact
uses: actions/upload-pages-artifact@v3
with:
# Publish the whole repository as-is (it is a static asset host)
path: .

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Empty file added .nojekyll
Empty file.
25 changes: 24 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
## Invitato Public Assets

Centralized Public Assets for Invitato Web Invitation
Centralized Public Assets for Invitato Web Invitation

### GitHub Pages

This repository is published as a static site via GitHub Pages, so every
asset is reachable over HTTPS by its path.

Deployment is automated by
[`.github/workflows/deploy-pages.yml`](.github/workflows/deploy-pages.yml):
on every push to `main` the entire repository is uploaded and deployed as a
Pages artifact. A `.nojekyll` file is included so files are served as-is,
without any Jekyll processing.

**One-time setup:** in the repository's **Settings → Pages**, set
**Source** to **GitHub Actions**. After that, pushes to `main` deploy
automatically (you can also trigger a run manually from the **Actions** tab).

Once live, files are available at:

```
https://<owner>.github.io/<repo>/<path-to-asset>
```

for example `https://<owner>.github.io/<repo>/logo-vendor/Glow.png`.
150 changes: 150 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Invitato Public Assets</title>
<meta
name="description"
content="Centralized public assets for Invitato web invitations."
/>
<style>
:root {
color-scheme: light dark;
--bg: #faf8f5;
--fg: #2b2b2b;
--muted: #6b6b6b;
--card: #ffffff;
--border: #e7e2da;
--accent: #b08d57;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #1b1a18;
--fg: #ece8e2;
--muted: #a49f97;
--card: #262421;
--border: #37332e;
--accent: #d8b782;
}
}
* {
box-sizing: border-box;
}
body {
margin: 0;
font-family:
system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial,
sans-serif;
background: var(--bg);
color: var(--fg);
line-height: 1.6;
}
.wrap {
max-width: 820px;
margin: 0 auto;
padding: 4rem 1.25rem 5rem;
}
header {
margin-bottom: 2.5rem;
}
h1 {
font-size: clamp(1.8rem, 4vw, 2.6rem);
margin: 0 0 0.5rem;
letter-spacing: -0.01em;
}
.tagline {
color: var(--muted);
font-size: 1.05rem;
margin: 0;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 1rem;
margin-top: 2rem;
}
a.card {
display: block;
text-decoration: none;
color: inherit;
background: var(--card);
border: 1px solid var(--border);
border-radius: 12px;
padding: 1.25rem 1.4rem;
transition:
transform 0.15s ease,
border-color 0.15s ease;
}
a.card:hover {
transform: translateY(-2px);
border-color: var(--accent);
}
a.card h2 {
margin: 0 0 0.3rem;
font-size: 1.1rem;
}
a.card p {
margin: 0;
color: var(--muted);
font-size: 0.92rem;
}
footer {
margin-top: 3.5rem;
padding-top: 1.5rem;
border-top: 1px solid var(--border);
color: var(--muted);
font-size: 0.88rem;
}
code {
background: var(--card);
border: 1px solid var(--border);
border-radius: 5px;
padding: 0.1em 0.4em;
font-size: 0.88em;
}
</style>
</head>
<body>
<div class="wrap">
<header>
<h1>Invitato Public Assets</h1>
<p class="tagline">
Centralized public assets for Invitato web invitations, served over
GitHub Pages.
</p>
</header>

<p>
This site hosts static assets — images, videos, logos and templates —
used across Invitato web invitations. Browse the collections below or
reference any file directly by its path.
</p>

<div class="grid">
<a class="card" href="./invitato.net/">
<h2>invitato.net</h2>
<p>Invitation templates, logos and shared media.</p>
</a>
<a class="card" href="./invitato.id/">
<h2>invitato.id</h2>
<p>Catalog, Instagram filters and QR assets.</p>
</a>
<a class="card" href="./logo-vendor/">
<h2>logo-vendor</h2>
<p>Wedding &amp; event organizer partner logos.</p>
</a>
<a class="card" href="./qr-apps/">
<h2>qr-apps</h2>
<p>QR-based application assets.</p>
</a>
</div>

<footer>
Reference a file directly, e.g.
<code>/logo-vendor/Glow.png</code>. Directory listings depend on the
files present in each folder.
</footer>
</div>
</body>
</html>