Skip to content

Commit bdcd16f

Browse files
committed
add branding
1 parent d142e05 commit bdcd16f

14 files changed

Lines changed: 190 additions & 6 deletions

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,3 +106,6 @@ lib/
106106

107107

108108
# End of https://www.gitignore.io/api/delphi,lazarus,freepascal
109+
110+
### Tools ###
111+
tools/

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
1-
# HashLib4Pascal
2-
3-
[![Build Status](https://github.com/Xor-el/HashLib4Pascal/actions/workflows/make.yml/badge.svg)](https://github.com/Xor-el/HashLib4Pascal/actions/workflows/make.yml)
4-
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Xor-el/HashLib4Pascal/blob/master/LICENSE)
5-
[![Delphi](https://img.shields.io/badge/Delphi-2010%2B-red.svg)](https://www.embarcadero.com/products/delphi)
6-
[![FreePascal](https://img.shields.io/badge/FreePascal-3.2.2%2B-blue.svg)](https://www.freepascal.org/)
1+
<p align="center">
2+
<img src="assets/branding/logo.svg" width="160" alt="HashLib4Pascal logo" />
3+
<h1 align="center">HashLib4Pascal</h1>
4+
<p align="center">
5+
<strong>Comprehensive hashing library for Object Pascal</strong>
6+
</p>
7+
<p align="center">
8+
<a href="https://github.com/Xor-el/HashLib4Pascal/actions/workflows/make.yml"><img src="https://github.com/Xor-el/HashLib4Pascal/actions/workflows/make.yml/badge.svg" alt="Build Status"></a>
9+
<a href="https://github.com/Xor-el/HashLib4Pascal/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a>
10+
<a href="https://www.embarcadero.com/products/delphi"><img src="https://img.shields.io/badge/Delphi-2010%2B-red.svg" alt="Delphi"></a>
11+
<a href="https://www.freepascal.org/"><img src="https://img.shields.io/badge/FreePascal-3.2.2%2B-blue.svg" alt="FreePascal 3.2.2+"></a>
12+
</p>
13+
</p>
14+
15+
---
716

817
HashLib4Pascal is a comprehensive hashing library for Object Pascal, providing an easy-to-use interface for computing hashes, checksums, MACs, KDFs, and XOFs with support for state-based (incremental) hashing, released under the permissive [MIT License](LICENSE).
918

@@ -18,6 +27,7 @@ HashLib4Pascal is a comprehensive hashing library for Object Pascal, providing a
1827
- [Other Implementations](#other-implementations)
1928
- [Tip Jar](#tip-jar)
2029
- [License](#license)
30+
- [Branding](assets/branding/README.md)
2131

2232
## Features
2333

assets/branding/BRAND.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# HashLib4Pascal — lightweight brand guide
2+
3+
## Primary mark
4+
5+
- **Default:** [`logo.svg`](logo.svg)**shred-to-block**: lavender **input shards** on the left, a short **gold arrow**, and a **solid digest block** on the right with two subtle horizontal lines (abstract output bytes). Reads as “any input → one fingerprint.”
6+
- **Dark UI:** [`logo-dark.svg`](logo-dark.svg) — same layout with **brighter** lavender shards, **amber** arrow and block, on a **deeper violet-black** badge.
7+
8+
## Palette (default logo)
9+
10+
| Role | Hex | Notes |
11+
|------|-----|--------|
12+
| Badge top | `#4a3d66` | Gradient start. |
13+
| Badge bottom | `#261d38` | Gradient end. |
14+
| Input shards | `#c4b5fd` at 55% opacity | Arbitrary / unstructured input. |
15+
| Arrow | `#e8c547` | Direction into digest. |
16+
| Digest block | `#f7e08a` | Fixed-size result. |
17+
| Block detail | `#261d38` at 35% opacity | Suggested digest lines (not text). |
18+
19+
Dark variant uses `#1a1428``#0a0810`, shards `#a78bfa` at 70%, arrow `#fde68a`, block `#ffe082`, detail `#0a0810` at 45%.
20+
21+
**Banner background** (flat fill behind the logo for wide social and Open Graph PNGs [here](export/)): RGB **53, 45, 76** (`#352b4c`), aligned with the badge mid-tone.
22+
23+
## Typography (pairing)
24+
25+
The logo has **no embedded wordmark**. When setting type next to the mark:
26+
27+
- Prefer **clean sans-serif** UI fonts (e.g. Segoe UI, Inter, Source Sans 3).
28+
- **Do not** use Embarcadero product logotypes alongside this mark in a way that suggests an official bundle.
29+
30+
## Clear space
31+
32+
Keep padding around the badge at least **1/4 of the mark width** on a square canvas. Do not crop the rounded corners flush to the edge of arbitrary crops.
33+
34+
## Minimum size
35+
36+
- **Favicon / IDE:** target **16×16** in ICO; **32×32** or larger is clearer.
37+
- **README / docs:** **128–200 px** wide for the SVG is typical.
38+
39+
## Correct use
40+
41+
- Scale **uniformly**.
42+
- Use `logo-dark.svg` on **dark** pages for contrast.
43+
- Prefer **SVG** on the web; **PNG** where required (some social crawlers).
44+
45+
## Incorrect use
46+
47+
- Do not **stretch**, **skew**, or **rotate** the mark for effect.
48+
- Do not **recolor** outside the documented palette without updating this doc (palette table above).
49+
- Do not **crop** to only the digest block or only the shards without the badge frame (loses identity).
50+
- Do not place **third-party logos inside** the badge.
51+
52+
## Wordmark
53+
54+
“HashLib4Pascal” in plain text beside or below the mark is enough; no custom logotype is required.

assets/branding/README.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# HashLib4Pascal branding
2+
3+
This folder holds the **project logo** and derivative assets for README, social previews, and optional IDE package icons.
4+
5+
## Meaning
6+
7+
The mark is a **rounded badge** showing **shred-to-block**: **lavender shards** (unstructured input) on the left, a **gold arrow**, and a **solid digest block** on the right. It suggests:
8+
9+
- **Any data → one fingerprint** — checksums, MACs, and cryptographic hashes alike.
10+
- **Fixed-size output** — the block reads as a compact, stable digest.
11+
12+
It is **not** derived from Embarcadero, Delphi, or other third-party artwork. Do not combine it with third-party trademarks in a way that implies endorsement.
13+
14+
## Files
15+
16+
| File | Use |
17+
|------|-----|
18+
| [`logo.svg`](logo.svg) | **Source of truth** (default README / light UI). |
19+
| [`logo-dark.svg`](logo-dark.svg) | Dark backgrounds (docs sites, dark-themed pages). |
20+
| [`BRAND.md`](BRAND.md) | Colors, clear space, minimum size, do / don’t. |
21+
| [`export/`](export/) (`*.png`) | Raster exports (GitHub social 2:1, Open Graph, social header, square avatar). |
22+
| [`icons/HashLib4Pascal.ico`](icons/HashLib4Pascal.ico) | Multi-resolution Windows icon for `.dproj` / `.lpi`. |
23+
24+
## License
25+
26+
The **library source code** is under the project [MIT License](../../LICENSE). The **logo files in this directory** are also released under the **MIT License** unless the repository maintainers specify otherwise in a future commit; you may use them to refer to HashLib4Pascal. Do not use them to misrepresent authorship or to imply certification by the authors.
27+
28+
## Regenerating PNG and ICO
29+
30+
If you change the SVG, regenerate rasters using one of:
31+
32+
- **Inkscape** (CLI): export PNG at the sizes [listed here](export/README.md).
33+
- **ImageMagick** 7+: `magick logo.svg -resize 512x512 export/logo-512.png`.

assets/branding/export/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Raster exports
2+
3+
PNG files in this folder are generated from [this logo](../logo.svg).
4+
5+
| File | Size | Typical use |
6+
|------|------|-------------|
7+
| [`og-1280x640.png`](og-1280x640.png) | 1280×640 | **GitHub social preview** (recommended; 2:1) |
8+
| [`og-640x320.png`](og-640x320.png) | 640×320 | GitHub social preview **minimum** size (2:1) |
9+
| [`og-1200x630.png`](og-1200x630.png) | 1200×630 | Open Graph / general link previews |
10+
| [`social-header-1500x500.png`](social-header-1500x500.png) | 1500×500 | Twitter/X-style header |
11+
| [`logo-512.png`](logo-512.png) | 512×512 | Profile / square avatar |
12+
13+
Regenerate after SVG changes using Inkscape or ImageMagick; the full steps are [described here](../README.md).
11.9 KB
Loading
23.3 KB
Loading
24.9 KB
Loading
8.34 KB
Loading
21.8 KB
Loading

0 commit comments

Comments
 (0)