Compare commits
72 Commits
3627c2c73d
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d4c8760007 | |||
| b8fc96ea0a | |||
| 966441e6aa | |||
| 43d66fd295 | |||
| 5afda4e953 | |||
| c6d3e2516e | |||
| 3ac4e9bb4a | |||
| eb2f6802fd | |||
| 8bb70a9af0 | |||
| 8755db3305 | |||
| 2fa1a5eb3a | |||
| 75fc2ccc3b | |||
| e44d99c7e7 | |||
| dedec93e23 | |||
| 9a120ab0d6 | |||
| 6079039f21 | |||
| 2cf4dcbdae | |||
| e9dc4a6a0d | |||
| f488a103c8 | |||
| df5eeeb00c | |||
| b581601064 | |||
| 77bc63de24 | |||
| a86684f6d1 | |||
| b82c04ce51 | |||
| df20b2fb51 | |||
| 77aaa9989e | |||
| c5a862f7ba | |||
| 3bf0060439 | |||
| a5b3b9d36f | |||
| 440cc084d3 | |||
| f9a263dd8c | |||
| fdc1a1a215 | |||
| 10ac10a92a | |||
| a9ea122ac5 | |||
| f865d549d1 | |||
| 3215694f5c | |||
| 8594393664 | |||
| b0dde481cf | |||
| 5172bfe62c | |||
| d518ad2ae4 | |||
| 62c4aee24c | |||
| d92c72a6cd | |||
| 3005e53d6e | |||
| afb5a2ac20 | |||
| 3afcf77a16 | |||
| e542bbd44a | |||
| a626defcfd | |||
| b2cb2a1a8e | |||
| 3549e8757e | |||
| 2b2baf6851 | |||
| e649373118 | |||
| f3cb8ca848 | |||
| acec840d91 | |||
| 0d5205ac94 | |||
| 1a4a9542f5 | |||
| bd319d05a5 | |||
| 2a0af148c8 | |||
| ad7a531ea0 | |||
| fd91306cb0 | |||
| 4ea7586a7f | |||
| 671ddb2b75 | |||
| 7d447bee93 | |||
| 5cc4486ab7 | |||
| 6e4b1c891c | |||
| f1f67b29dd | |||
| d568a365df | |||
| 4781e84ebc | |||
| be09564a25 | |||
| 0fc5b59d5f | |||
| 5526873a41 | |||
| d111b55de0 | |||
| 5bd3c7b398 |
@@ -24,7 +24,9 @@ Single-page static landing page for an NGO ERP product.
|
|||||||
index.html ← only HTML file — layout + all inline JS + i18n
|
index.html ← only HTML file — layout + all inline JS + i18n
|
||||||
src/input.css ← Tailwind source (edit here, then rebuild)
|
src/input.css ← Tailwind source (edit here, then rebuild)
|
||||||
assets/site.css ← compiled output — DO NOT edit by hand
|
assets/site.css ← compiled output — DO NOT edit by hand
|
||||||
blog.json ← blog post data array
|
blog.json ← English blog posts (canonical + fallback)
|
||||||
|
blog.es.json ← Spanish blog posts
|
||||||
|
blog.de.json ← German blog posts
|
||||||
tailwind.config.js ← design tokens (colors, fonts, shadows)
|
tailwind.config.js ← design tokens (colors, fonts, shadows)
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -106,7 +108,21 @@ jq empty blog.json && echo "JSON valid"
|
|||||||
|
|
||||||
## Blog Post Schema
|
## Blog Post Schema
|
||||||
|
|
||||||
`blog.json` is a root-level JSON array. Every post object contains **exactly these five fields**:
|
### Language-to-file mapping
|
||||||
|
|
||||||
|
| Language | File loaded | Fallback |
|
||||||
|
|---|---|---|
|
||||||
|
| English (`en`) | `blog.json` | — |
|
||||||
|
| Spanish (`es`) | `blog.es.json` | `blog.json` |
|
||||||
|
| German (`de`) | `blog.de.json` | `blog.json` |
|
||||||
|
|
||||||
|
The loader in `index.html` fetches the language-specific file automatically when the visitor switches language. If a language file is missing or returns an error, it falls back to `blog.json` silently.
|
||||||
|
|
||||||
|
`blog.json` is always the **English source and fallback**. Keep all three files structurally identical — same number of posts, same order, translated content only.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
`blog.json` (and every language variant) is a root-level JSON array. Every post object contains **exactly these five fields**:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
@@ -132,21 +148,31 @@ NEVER add extra fields (`slug`, `author`, `tags`, `excerpt`, `hero_image`, etc.)
|
|||||||
|
|
||||||
### Adding a new blog post (jq method)
|
### Adding a new blog post (jq method)
|
||||||
|
|
||||||
|
> Add to **all three files** in the same session. A post that exists in English but not in Spanish/German will silently fall back to the English version for those visitors — which is acceptable temporarily but should be resolved promptly.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 1. Pull latest
|
# 1. Pull latest
|
||||||
git pull origin main
|
git pull origin main
|
||||||
|
|
||||||
# 2. Backup (once per session)
|
# 2. Backup all blog files once per session
|
||||||
mkdir -p /backup && cp blog.json /backup/blog.json.$(date +%Y%m%d%H%M%S)
|
mkdir -p /backup
|
||||||
|
for f in blog.json blog.es.json blog.de.json; do
|
||||||
|
cp $f /backup/$f.$(date +%Y%m%d%H%M%S)
|
||||||
|
done
|
||||||
|
|
||||||
# 3. Prepend new post — $NEW_JSON must be a valid single post object
|
# 3. Prepend new post to each language file
|
||||||
jq --argjson new "$NEW_JSON" '. = [$new] + .' blog.json > tmp.json && mv tmp.json blog.json
|
# $NEW_EN, $NEW_ES, $NEW_DE must each be a valid single post object
|
||||||
|
jq --argjson new "$NEW_EN" '. = [$new] + .' blog.json > tmp.json && mv tmp.json blog.json
|
||||||
|
jq --argjson new "$NEW_ES" '. = [$new] + .' blog.es.json > tmp.json && mv tmp.json blog.es.json
|
||||||
|
jq --argjson new "$NEW_DE" '. = [$new] + .' blog.de.json > tmp.json && mv tmp.json blog.de.json
|
||||||
|
|
||||||
# 4. Validate
|
# 4. Validate all three
|
||||||
jq empty blog.json && echo "JSON valid"
|
jq empty blog.json && echo "blog.json OK"
|
||||||
|
jq empty blog.es.json && echo "blog.es.json OK"
|
||||||
|
jq empty blog.de.json && echo "blog.de.json OK"
|
||||||
|
|
||||||
# 5. Commit and push
|
# 5. Commit and push
|
||||||
git add blog.json
|
git add blog.json blog.es.json blog.de.json
|
||||||
git commit -m "blog: add post – <title>"
|
git commit -m "blog: add post – <title>"
|
||||||
git push origin main
|
git push origin main
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
# NGO Website — ODOO4projects
|
|
||||||
|
|
||||||
**Project:** NGO marketing homepage and blog
|
|
||||||
**URL:** [ngo.odoo4projects.com](https://ngo.odoo4projects.com)
|
|
||||||
**Stack:** Static HTML · Tailwind CSS · Vanilla JS
|
|
||||||
|
|
||||||
---
|
|
||||||
## BLOG POSTS
|
|
||||||
Blog posts live in `blog.json` — do not create separate backup files.
|
|
||||||
To add a blog post customize this command
|
|
||||||
jq '.arrays[0] = [$NEW_JSON] + .arrays[0]' blog.json > tmp.json && mv tmp.json blog.json
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Repository Rules
|
|
||||||
- Do not touch this readme
|
|
||||||
- Keep the seperation of Site and the blogposts in blog.json
|
|
||||||
Example of JSON structure for blog.json
|
|
||||||
{
|
|
||||||
"area": "Transparency",
|
|
||||||
"title": "Every Peso on the Page: Ana's Ledger Story",
|
|
||||||
"teaser": "<p>Ana replaced five notebooks with a four-stop impact ledger and now answers donor questions in seconds.</p>",
|
|
||||||
"content": "<h3>Every peso needs a map</h3>\n<p>Ana used to juggle five notebooks and still felt blind when a donor asked where their coin landed.</p>\n<h3>Pressure points</h3>\n<p without late nights.</p>\n",
|
|
||||||
"date": "2026-03-22"
|
|
||||||
},
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Page Structure
|
|
||||||
|
|
||||||
| # | Block | Purpose |
|
|
||||||
|---|-------|---------|
|
|
||||||
| 1 | **Hero** | Headline, subheadline, free-trial CTA, key stats |
|
|
||||||
| 2 | **Hot NGO Topics** | Three focused topic cards (transparency, communications, fundraising) |
|
|
||||||
| 3 | **Blog** | Latest articles loaded dynamically from `blog.json` |
|
|
||||||
| 4 | **Sign Up — Free Trial** | Email signup form, 4-week free trial, no credit card |
|
|
||||||
| 5 | **Have a Meeting** | 30-minute consultation booking via Google Calendar |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
## Languages
|
|
||||||
|
|
||||||
| Code | Language |
|
|
||||||
|------|----------|
|
|
||||||
| `en` | English (default) |
|
|
||||||
| `es` | Español |
|
|
||||||
| `de` | Deutsch |
|
|
||||||
|
|
||||||
All UI strings are managed via the inline `translations` object in `index.html`.
|
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,9 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"area": "Donor Communication",
|
|
||||||
"title": "How Maya Turned Donor Chaos into Clear Connections",
|
|
||||||
"teaser": "<p>Maya transformed scattered donor messages into a smooth, trustworthy flow that grows support.</p>",
|
|
||||||
"content": "<h3>From scattered emails to a single view</h3>\n<p>Maya used to juggle spreadsheets, inbox threads, and sticky notes, trying to track donor interactions. Messages were missed, thank-yous delayed, and trust wavered.</p>\n<h3>Organizing the donor journey</h3>\n<p>She mapped every donor touchpoint: initial contact, donation, follow-ups, renewals, and special campaigns.</p>\n<p>Each interaction got a card in Odoo showing donor, date, preferred channel, and notes.</p>\n<h3>Automated touchpoints</h3>\n<p>n8n automates reminders: thank donors, confirm gifts, and ping staff before renewals. No one misses a beat, and personalization stays intact.</p>\n<h3>Transparency everywhere</h3>\n<p>Donors can see updates on projects they supported. Status labels on campaigns show funds allocated, impact stories, and upcoming events.</p>\n<p>Staff leave notes visible to colleagues, so no duplicate outreach or awkward overlaps happen.</p>\n<h3>Visual dashboards</h3>\n<p>A live dashboard shows donor activity, upcoming renewals, and campaign health. Color codes indicate priority: green for confirmed gifts, yellow for pending pledges, red for urgent follow-ups.</p>\n<h3>Communication rhythm</h3>\n<p>Weekly donor check-ins keep the team aligned. Monthly newsletters highlight wins, donor impact, and upcoming opportunities. Special campaigns trigger micro-emails personalized by giving level.</p>\n<ul>\n <li>Monday: review new donors and pending follow-ups.</li>\n <li>Wednesday: confirm campaign progress and donor notes.</li>\n <li>Friday: send thank-you emails and impact updates.</li>\n</ul>\n<h3>Metrics & impact</h3>\n<p>Donor retention improved by 25%.</p>\n<p>Response times dropped from days to hours.</p>\n<p>Staff report feeling less stressed because communication is predictable and visible.</p>\n<h3>Rollout plan</h3>\n<ul>\n <li>Import all donor records into Odoo cards and tag owners.</li>\n <li>Set n8n alerts for gifts, follow-ups, and renewals.</li>\n <li>Create dashboards showing active donors, pledges, and campaign status.</li>\n <li>Automate thank-you emails and impact updates.</li>\n</ul>\n<p>This replaces weeks of scattered emails and missed opportunities.</p>\n<p><strong>Micro-CTA:</strong> Want Maya’s donor management template? Reply “connect” and we’ll send the setup guide.</p>\n<h3>Story beats returned</h3>\n<p>The organization still hustles, but now each donor feels seen, valued, and in the loop. Maya smiles at every timely thank-you that lands without chasing anyone.</p>\n<h3>Your invitation</h3>\n<p>Subscribe to the NGO ops newsletter or book a donor communication clinic. We’ll map your donor flow, load it into Odoo, wire n8n alerts, and leave you with clear, trustworthy connections you can maintain effortlessly.</p>",
|
|
||||||
"date": "2026-03-25"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
@@ -0,0 +1 @@
|
|||||||
|
google-site-verification: google261cafffa78d8c3d.html
|
||||||
+114
@@ -0,0 +1,114 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||||
|
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||||
|
<g transform="matrix(1,0,0,1,-1152,-256)">
|
||||||
|
<rect id="Icons" x="0" y="0" width="1280" height="800" style="fill:none;"/>
|
||||||
|
<g id="Icons1" serif:id="Icons">
|
||||||
|
<g id="Strike">
|
||||||
|
</g>
|
||||||
|
<g id="H1">
|
||||||
|
</g>
|
||||||
|
<g id="H2">
|
||||||
|
</g>
|
||||||
|
<g id="H3">
|
||||||
|
</g>
|
||||||
|
<g id="list-ul">
|
||||||
|
</g>
|
||||||
|
<g id="hamburger-1">
|
||||||
|
</g>
|
||||||
|
<g id="hamburger-2">
|
||||||
|
</g>
|
||||||
|
<g id="list-ol">
|
||||||
|
</g>
|
||||||
|
<g id="list-task">
|
||||||
|
</g>
|
||||||
|
<g id="trash">
|
||||||
|
</g>
|
||||||
|
<g id="vertical-menu">
|
||||||
|
</g>
|
||||||
|
<g id="horizontal-menu">
|
||||||
|
</g>
|
||||||
|
<g id="sidebar-2">
|
||||||
|
</g>
|
||||||
|
<g id="Pen">
|
||||||
|
</g>
|
||||||
|
<g id="Pen1" serif:id="Pen">
|
||||||
|
</g>
|
||||||
|
<g id="clock">
|
||||||
|
</g>
|
||||||
|
<g id="external-link">
|
||||||
|
</g>
|
||||||
|
<g id="hr">
|
||||||
|
</g>
|
||||||
|
<g id="info">
|
||||||
|
</g>
|
||||||
|
<g id="warning">
|
||||||
|
</g>
|
||||||
|
<g id="plus-circle">
|
||||||
|
</g>
|
||||||
|
<g id="minus-circle">
|
||||||
|
</g>
|
||||||
|
<g id="vue">
|
||||||
|
</g>
|
||||||
|
<g id="cog">
|
||||||
|
</g>
|
||||||
|
<g id="logo">
|
||||||
|
</g>
|
||||||
|
<g id="radio-check">
|
||||||
|
</g>
|
||||||
|
<g id="eye-slash">
|
||||||
|
</g>
|
||||||
|
<g id="eye">
|
||||||
|
</g>
|
||||||
|
<g id="toggle-off">
|
||||||
|
</g>
|
||||||
|
<g id="shredder">
|
||||||
|
</g>
|
||||||
|
<g id="spinner--loading--dots-" serif:id="spinner [loading, dots]">
|
||||||
|
</g>
|
||||||
|
<g id="react">
|
||||||
|
</g>
|
||||||
|
<g id="check-selected">
|
||||||
|
</g>
|
||||||
|
<g id="turn-off">
|
||||||
|
</g>
|
||||||
|
<g id="code-block">
|
||||||
|
</g>
|
||||||
|
<g id="user">
|
||||||
|
</g>
|
||||||
|
<g id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.638317,0.368532,-0.368532,0.638317,785.021,-208.975)">
|
||||||
|
<g id="coffee-beans">
|
||||||
|
<g id="coffee-bean1" serif:id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="coffee-bean-filled" transform="matrix(0.866025,0.5,-0.5,0.866025,717.879,-387.292)">
|
||||||
|
<g transform="matrix(1,0,0,1,0,-0.699553)">
|
||||||
|
<path d="M737.673,328.231C738.494,328.056 739.334,328.427 739.757,329.152C739.955,329.463 740.106,329.722 740.106,329.722C740.106,329.722 745.206,338.581 739.429,352.782C737.079,358.559 736.492,366.083 738.435,371.679C738.697,372.426 738.482,373.258 737.89,373.784C737.298,374.31 736.447,374.426 735.735,374.077C730.192,371.375 722.028,365.058 722.021,352C722.015,340.226 728.812,330.279 737.673,328.231Z"/>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(-1,0,0,-1,1483.03,703.293)">
|
||||||
|
<path d="M737.609,328.246C738.465,328.06 739.344,328.446 739.785,329.203C739.97,329.49 740.106,329.722 740.106,329.722C740.106,329.722 745.206,338.581 739.429,352.782C737.1,358.507 736.503,365.948 738.383,371.527C738.646,372.304 738.415,373.164 737.796,373.703C737.177,374.243 736.294,374.356 735.56,373.989C730.02,371.241 722.028,364.92 722.021,352C722.016,340.255 728.779,330.328 737.609,328.246Z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(0.638317,0.368532,-0.368532,0.638317,913.062,-208.975)">
|
||||||
|
<g id="coffee-beans-filled">
|
||||||
|
<g id="coffee-bean2" serif:id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="clipboard">
|
||||||
|
</g>
|
||||||
|
<g transform="matrix(1,0,0,1,128.011,1.35415)">
|
||||||
|
<g id="clipboard-paste">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="clipboard-copy">
|
||||||
|
</g>
|
||||||
|
<g id="Layer1">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.5 KiB |
@@ -0,0 +1,224 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
fill="#000000"
|
||||||
|
width="800px"
|
||||||
|
height="800px"
|
||||||
|
viewBox="0 0 64 64"
|
||||||
|
version="1.1"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
|
||||||
|
id="svg6"
|
||||||
|
sodipodi:docname="bean_dark_Roast.svg"
|
||||||
|
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:serif="http://www.serif.com/"><defs
|
||||||
|
id="defs6" /><sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="1.075"
|
||||||
|
inkscape:cx="400"
|
||||||
|
inkscape:cy="400"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1129"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg6" />
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,1,-1152,-256)"
|
||||||
|
id="g6">
|
||||||
|
<rect
|
||||||
|
id="Icons"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
width="1280"
|
||||||
|
height="800"
|
||||||
|
style="fill:none;" />
|
||||||
|
<g
|
||||||
|
id="Icons1"
|
||||||
|
serif:id="Icons">
|
||||||
|
<g
|
||||||
|
id="Strike">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="H1">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="H2">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="H3">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="list-ul">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="hamburger-1">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="hamburger-2">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="list-ol">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="list-task">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="trash">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="vertical-menu">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="horizontal-menu">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="sidebar-2">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="Pen">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="Pen1"
|
||||||
|
serif:id="Pen">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="clock">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="external-link">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="hr">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="info">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="warning">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="plus-circle">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="minus-circle">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="vue">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="cog">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="logo">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="radio-check">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="eye-slash">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="eye">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="toggle-off">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="shredder">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="spinner--loading--dots-"
|
||||||
|
serif:id="spinner [loading, dots]">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="react">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="check-selected">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="turn-off">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="code-block">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="user">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(0.638317,0.368532,-0.368532,0.638317,785.021,-208.975)"
|
||||||
|
id="g1">
|
||||||
|
<g
|
||||||
|
id="coffee-beans">
|
||||||
|
<g
|
||||||
|
id="coffee-bean1"
|
||||||
|
serif:id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="coffee-bean-filled"
|
||||||
|
transform="matrix(0.866025,0.5,-0.5,0.866025,717.879,-387.292)">
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,1,0,-0.699553)"
|
||||||
|
id="g2">
|
||||||
|
<path
|
||||||
|
d="M737.673,328.231C738.494,328.056 739.334,328.427 739.757,329.152C739.955,329.463 740.106,329.722 740.106,329.722C740.106,329.722 745.206,338.581 739.429,352.782C737.079,358.559 736.492,366.083 738.435,371.679C738.697,372.426 738.482,373.258 737.89,373.784C737.298,374.31 736.447,374.426 735.735,374.077C730.192,371.375 722.028,365.058 722.021,352C722.015,340.226 728.812,330.279 737.673,328.231Z"
|
||||||
|
id="path1"
|
||||||
|
style="fill:#3e2723;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(-1,0,0,-1,1483.03,703.293)"
|
||||||
|
id="g3">
|
||||||
|
<path
|
||||||
|
d="M737.609,328.246C738.465,328.06 739.344,328.446 739.785,329.203C739.97,329.49 740.106,329.722 740.106,329.722C740.106,329.722 745.206,338.581 739.429,352.782C737.1,358.507 736.503,365.948 738.383,371.527C738.646,372.304 738.415,373.164 737.796,373.703C737.177,374.243 736.294,374.356 735.56,373.989C730.02,371.241 722.028,364.92 722.021,352C722.016,340.255 728.779,330.328 737.609,328.246Z"
|
||||||
|
id="path2"
|
||||||
|
style="stroke:#3e2723;stroke-opacity:1;fill:#3e2723;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(0.638317,0.368532,-0.368532,0.638317,913.062,-208.975)"
|
||||||
|
id="g4">
|
||||||
|
<g
|
||||||
|
id="coffee-beans-filled">
|
||||||
|
<g
|
||||||
|
id="coffee-bean2"
|
||||||
|
serif:id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="clipboard">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,1,128.011,1.35415)"
|
||||||
|
id="g5">
|
||||||
|
<g
|
||||||
|
id="clipboard-paste">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="clipboard-copy">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="Layer1">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,224 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
fill="#000000"
|
||||||
|
width="800px"
|
||||||
|
height="800px"
|
||||||
|
viewBox="0 0 64 64"
|
||||||
|
version="1.1"
|
||||||
|
xml:space="preserve"
|
||||||
|
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
|
||||||
|
id="svg6"
|
||||||
|
sodipodi:docname="bean_light_brown.svg"
|
||||||
|
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:serif="http://www.serif.com/"><defs
|
||||||
|
id="defs6" /><sodipodi:namedview
|
||||||
|
id="namedview6"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="1.075"
|
||||||
|
inkscape:cx="400"
|
||||||
|
inkscape:cy="400"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1129"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg6" />
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,1,-1152,-256)"
|
||||||
|
id="g6">
|
||||||
|
<rect
|
||||||
|
id="Icons"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
width="1280"
|
||||||
|
height="800"
|
||||||
|
style="fill:none;" />
|
||||||
|
<g
|
||||||
|
id="Icons1"
|
||||||
|
serif:id="Icons">
|
||||||
|
<g
|
||||||
|
id="Strike">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="H1">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="H2">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="H3">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="list-ul">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="hamburger-1">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="hamburger-2">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="list-ol">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="list-task">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="trash">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="vertical-menu">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="horizontal-menu">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="sidebar-2">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="Pen">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="Pen1"
|
||||||
|
serif:id="Pen">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="clock">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="external-link">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="hr">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="info">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="warning">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="plus-circle">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="minus-circle">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="vue">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="cog">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="logo">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="radio-check">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="eye-slash">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="eye">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="toggle-off">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="shredder">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="spinner--loading--dots-"
|
||||||
|
serif:id="spinner [loading, dots]">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="react">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="check-selected">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="turn-off">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="code-block">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="user">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(0.638317,0.368532,-0.368532,0.638317,785.021,-208.975)"
|
||||||
|
id="g1">
|
||||||
|
<g
|
||||||
|
id="coffee-beans">
|
||||||
|
<g
|
||||||
|
id="coffee-bean1"
|
||||||
|
serif:id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="coffee-bean-filled"
|
||||||
|
transform="matrix(0.866025,0.5,-0.5,0.866025,717.879,-387.292)">
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,1,0,-0.699553)"
|
||||||
|
id="g2">
|
||||||
|
<path
|
||||||
|
d="M737.673,328.231C738.494,328.056 739.334,328.427 739.757,329.152C739.955,329.463 740.106,329.722 740.106,329.722C740.106,329.722 745.206,338.581 739.429,352.782C737.079,358.559 736.492,366.083 738.435,371.679C738.697,372.426 738.482,373.258 737.89,373.784C737.298,374.31 736.447,374.426 735.735,374.077C730.192,371.375 722.028,365.058 722.021,352C722.015,340.226 728.812,330.279 737.673,328.231Z"
|
||||||
|
id="path1"
|
||||||
|
style="fill:#5d4037;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(-1,0,0,-1,1483.03,703.293)"
|
||||||
|
id="g3">
|
||||||
|
<path
|
||||||
|
d="M737.609,328.246C738.465,328.06 739.344,328.446 739.785,329.203C739.97,329.49 740.106,329.722 740.106,329.722C740.106,329.722 745.206,338.581 739.429,352.782C737.1,358.507 736.503,365.948 738.383,371.527C738.646,372.304 738.415,373.164 737.796,373.703C737.177,374.243 736.294,374.356 735.56,373.989C730.02,371.241 722.028,364.92 722.021,352C722.016,340.255 728.779,330.328 737.609,328.246Z"
|
||||||
|
id="path2"
|
||||||
|
style="stroke:#5d4037;stroke-opacity:1;fill:#5d4037;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(0.638317,0.368532,-0.368532,0.638317,913.062,-208.975)"
|
||||||
|
id="g4">
|
||||||
|
<g
|
||||||
|
id="coffee-beans-filled">
|
||||||
|
<g
|
||||||
|
id="coffee-bean2"
|
||||||
|
serif:id="coffee-bean">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="clipboard">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,1,128.011,1.35415)"
|
||||||
|
id="g5">
|
||||||
|
<g
|
||||||
|
id="clipboard-paste">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="clipboard-copy">
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="Layer1">
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 115 KiB |
+116
@@ -0,0 +1,116 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="124.8711mm"
|
||||||
|
height="31.440542mm"
|
||||||
|
viewBox="0 0 124.8711 31.440542"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
|
||||||
|
sodipodi:docname="logo.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:zoom="0.70021044"
|
||||||
|
inkscape:cx="329.90082"
|
||||||
|
inkscape:cy="345.61039"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1046"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Ebene 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-17.727083,-56.885417)">
|
||||||
|
<g
|
||||||
|
id="g5"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,-67.310852,25.675979)">
|
||||||
|
<text
|
||||||
|
id="text5"
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="matrix(1.3333333,0,0,1.3333333,316.00667,186.29426)"><tspan
|
||||||
|
id="tspan5"
|
||||||
|
style="font-variant:normal;font-weight:700;font-size:65.991px;font-family:'Noto Sans';writing-mode:lr-tb;fill:#3e2723;fill-opacity:1;fill-rule:nonzero;stroke:#3e2723;stroke-width:2.19965;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="0"
|
||||||
|
y="0">my</tspan></text>
|
||||||
|
<text
|
||||||
|
id="text6"
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="matrix(1.3333333,0,0,1.3333333,452.48533,186.29426)"><tspan
|
||||||
|
id="tspan6"
|
||||||
|
style="font-variant:normal;font-weight:700;font-size:65.991px;font-family:'Noto Sans';writing-mode:lr-tb;fill:#e65100;fill-opacity:1;fill-rule:nonzero;stroke:#e65100;stroke-width:2.19965;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="0"
|
||||||
|
y="0">-</tspan></text>
|
||||||
|
<text
|
||||||
|
id="text7"
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="matrix(1.3333333,0,0,1.3333333,480.79333,186.29426)"><tspan
|
||||||
|
id="tspan7"
|
||||||
|
style="font-variant:normal;font-weight:700;font-size:65.991px;font-family:'Noto Sans';writing-mode:lr-tb;fill:#3e2723;fill-opacity:1;fill-rule:nonzero;stroke:#3e2723;stroke-width:2.19965;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="0"
|
||||||
|
y="0">biz</tspan></text>
|
||||||
|
<text
|
||||||
|
id="text8"
|
||||||
|
xml:space="preserve"
|
||||||
|
transform="matrix(1.3333333,0,0,1.3333333,606.236,186.29426)"><tspan
|
||||||
|
id="tspan8"
|
||||||
|
style="font-variant:normal;font-weight:700;font-size:65.991px;font-family:'Noto Sans';writing-mode:lr-tb;fill:#e65100;fill-opacity:1;fill-rule:nonzero;stroke:#e65100;stroke-width:2.19965;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="0"
|
||||||
|
y="0">.app</tspan></text>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g8"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,-67.310852,25.675979)">
|
||||||
|
<path
|
||||||
|
id="path8"
|
||||||
|
d="M 249.449,279.212 H 391.181"
|
||||||
|
style="fill:none;stroke:#e65100;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
transform="matrix(1.3333333,0,0,-1.3333333,0,595.27559)" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g9"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,-67.310852,25.675979)">
|
||||||
|
<path
|
||||||
|
id="path9"
|
||||||
|
d="M 442.205,279.212 H 583.937"
|
||||||
|
style="fill:none;stroke:#e65100;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
transform="matrix(1.3333333,0,0,-1.3333333,0,595.27559)" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g10"
|
||||||
|
transform="matrix(0.26458333,0,0,0.26458333,-67.310852,25.675979)">
|
||||||
|
<path
|
||||||
|
id="path10"
|
||||||
|
d="m 420.661,289.332 c 0.369,-0.114 0.596,-0.454 0.596,-0.822 0.028,-0.171 0.028,-0.284 0.028,-0.284 0,0 -0.028,-4.535 -5.386,-8.702 -2.182,-1.701 -4.053,-4.451 -4.564,-7.03 -0.056,-0.34 -0.311,-0.624 -0.652,-0.681 -0.368,-0.085 -0.708,0.057 -0.907,0.369 -1.53,2.268 -3.259,6.491 -0.368,11.48 2.608,4.536 7.427,6.832 11.253,5.67 z"
|
||||||
|
style="fill:#3e2723;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||||
|
transform="matrix(1.3333333,0,0,-1.3333333,0,595.27559)" />
|
||||||
|
<path
|
||||||
|
id="path11"
|
||||||
|
d="m 413.121,269.376 c -0.368,0.141 -0.623,0.482 -0.623,0.85 0,0.17 0,0.284 0,0.284 0,0 0,4.535 5.357,8.702 2.154,1.672 4.054,4.394 4.564,6.945 0.057,0.368 0.34,0.623 0.709,0.708 0.34,0.057 0.708,-0.085 0.907,-0.396 1.53,-2.268 3.174,-6.463 0.34,-11.424 -2.608,-4.507 -7.399,-6.803 -11.254,-5.669 z"
|
||||||
|
style="fill:#3e2723;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||||
|
transform="matrix(1.3333333,0,0,-1.3333333,0,595.27559)" />
|
||||||
|
<path
|
||||||
|
id="path12"
|
||||||
|
d="m 413.121,269.376 c -0.368,0.141 -0.623,0.482 -0.623,0.85 0,0.17 0,0.284 0,0.284 0,0 0,4.535 5.357,8.702 2.154,1.672 4.054,4.394 4.564,6.945 0.057,0.368 0.34,0.623 0.709,0.708 0.34,0.057 0.708,-0.085 0.907,-0.396 1.53,-2.268 3.174,-6.463 0.34,-11.424 -2.608,-4.507 -7.399,-6.803 -11.254,-5.669 z"
|
||||||
|
style="fill:none;stroke:#3e2723;stroke-width:0.4428;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
transform="matrix(1.3333333,0,0,-1.3333333,0,595.27559)" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.8 KiB |
+4601
-553
File diff suppressed because it is too large
Load Diff
Generated
-1025
File diff suppressed because it is too large
Load Diff
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "ngo",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"description": "",
|
|
||||||
"main": "index.js",
|
|
||||||
"scripts": {
|
|
||||||
"build:css": "tailwindcss -i src/input.css -o assets/site.css --minify",
|
|
||||||
"watch:css": "tailwindcss -i src/input.css -o assets/site.css --watch",
|
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git@git.odoo4projects.com:Oliver/NGO.git"
|
|
||||||
},
|
|
||||||
"keywords": [],
|
|
||||||
"author": "",
|
|
||||||
"license": "ISC",
|
|
||||||
"type": "commonjs",
|
|
||||||
"devDependencies": {
|
|
||||||
"tailwindcss": "^3.4.17"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+47
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"area": "CRM", "Vertical": "NGO", "date": "2026-05-04", "title": "Impact Reporting in Minutes", "teaser": "Small NGOs waste countless hours turning donor data into reports—instead of serving those they’re meant to help.", "content": "<article>\n<h2>Impact Reporting in Minutes</h2>\n<p style=\"margin: 0; color: #374151;\">— \"Maria stared at her screen at 11 p.m., three days before the grant deadline. Her donor database had 872 entries. Excel had 14 tabs. She hadnt slept in 36 hours. Every email from a donor—How was the clean water project?—demanded a new report. She couldnt tell them. Not without weeks of work. <strong>Spreadsheets</strong> were drowning her. <strong>Manual reporting</strong> was stealing her purpose. And worst of all—she knew donors were slipping away, not because her work wasn’t impactful, but because she couldn’t prove it.\" —</p>\n\n<p style=\"margin: 0; color: #374151;\">Modern digital tools can transform how NGOs capture and communicate impact. Automated systems can pull data from donations, program logs, and field reports into unified dashboards. Reports once built by hand can now be generated with a single click, reducing errors, saving weeks of labor, and preserving the emotional integrity of the stories behind the numbers.</p>\n\n<h3>Stop drowning in spreadsheets. Start telling stories.</h3>\n<p style=\"margin: 0; color: #374151;\">When your team spends 20 hours a week just compiling donor data, you’re not serving beneficiaries—you’re serving Excel. Automated reporting tools reset that balance. They sync with your existing donation platforms, track program outcomes across locations, and turn fragmented inputs into cohesive, real-time narratives that donors actually read.</p>\n\n<h3>Trust isn’t built with PDFs. It’s built with clarity.</h3>\n<p style=\"margin: 0; color: #374151;\">Donors don’t want line items. They want to know lives changed. A clean, automated dashboard shows a child’s progress in school, not just the $50 spent on textbooks. When you can show, not tell, donors see their values reflected in real results. That’s how <strong>retention grows</strong>—not through emails begging for more, but through transparency that feels genuine.</p>\n\n<h3>Proof that matters. Without the panic.</h3>\n<p style=\"margin: 0; color: #374151;\">Grant applications and board reviews require compliance—not creativity. When audit season rolls around, having pre-built, audit-ready templates means your finance lead isn’t working through the night. No more frantic last-minute data fixes. Just a few clicks, and your compliance is done. That peace of mind? It’s priceless.</p>\n\n<div class=\"video-container\" style=\"display: flex; margin: 2rem 0; gap: 2rem;\">\n <div class=\"video-text\" style=\"flex: 1;\">\n <p style=\"margin: 0; color: #374151;\">This is how you generate an impact report for your donors—no more spreadsheets, no more stress. Just one click, and your story goes live.</p>\n </div>\n <div class=\"video-player\" style=\"flex: 1; min-width: 300px; height: 300px;\">\n <iframe width=\"100%\" height=\"100%\"\n src=\"https://www.youtube.com/embed/huVrXvkCAqg\"\n title=\"YouTube video player\"\n frameborder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowfullscreen\n style=\"width: 100%; height: 100%; border-radius: 8px;\">\n </iframe>\n </div>\n</div>\n\n<p style=\"margin: 0; color: #374151;\"><em>Remember: Every hour you spend wrestling with data is an hour taken from the field, the classroom, the clinic.</em></p>\n\n<a class=\"cta\" href=\"https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c\">When you want to explore how this could work for your organization, you can book a meeting here:</a>\n</article>", "image": "ngo_office3"}
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
@tailwind base;
|
|
||||||
@tailwind components;
|
|
||||||
@tailwind utilities;
|
|
||||||
|
|
||||||
body {
|
|
||||||
@apply font-brand;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lang-selector {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lang-selector:focus,
|
|
||||||
#lang-selector:focus-visible {
|
|
||||||
color: #201824;
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
+1630
File diff suppressed because it is too large
Load Diff
@@ -1,27 +0,0 @@
|
|||||||
/** @type {import('tailwindcss').Config} */
|
|
||||||
module.exports = {
|
|
||||||
content: ['./index.html'],
|
|
||||||
theme: {
|
|
||||||
extend: {
|
|
||||||
colors: {
|
|
||||||
'brand-ink': '#201824',
|
|
||||||
'brand-primary': '#603F57',
|
|
||||||
'brand-accent': '#F762B4',
|
|
||||||
'brand-sunrise': '#F8B84A',
|
|
||||||
'brand-emerald': '#39B982',
|
|
||||||
'brand-snow': '#F5F2F7',
|
|
||||||
'brand-smoke': '#E5DCE8'
|
|
||||||
},
|
|
||||||
fontFamily: {
|
|
||||||
brand: ['Inter', 'Segoe UI', 'system-ui', 'sans-serif']
|
|
||||||
},
|
|
||||||
boxShadow: {
|
|
||||||
brand: '0 20px 60px rgba(32, 24, 36, 0.15)'
|
|
||||||
},
|
|
||||||
backgroundImage: {
|
|
||||||
'hero-gradient': 'radial-gradient(circle at top left, rgba(247,98,180,0.35), rgba(32,24,36,0.95))'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
plugins: []
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user